- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译LINUX内核提供者:jzj 第一章 内核入门 =============== 内核就是...Linux! 当您听到Linux 这个词眼时您想到了什么?当我听到它时,我通常会想到一个完整的 Linux 软件包和其中所有包含的程序。 但是,您也许会惊奇地发现,从技术上而言,Linux 是一个内核,而且只是一个内核。其余我们所通常称之为 Linux (例如一个 shell 和编译器)的部分实质上只是整个软件包的一部分,它们从技术上而言是与 Linux (内核)是分开的。 当许多人使用 Linux 这个词来表达基于 Linux 软件包时,每个人都会同意 Linux 内核是每个软件包的心脏。 与硬件接口 Linux 内核的重要职责是与您系统中的硬件直接接口。内核提供了一个在裸设备与应用程序间的抽象层 。例如,程序本身不需要了解您的母板芯片集或磁盘控制器的细节了 -- 它们可以在更高层次上读写磁盘。 抽象 CPU Linux 内核还提供了在您系统处理器上的一层抽象 -- 允许多个程序看起来在同时运行。Linux 通过允许多个 UNIX 进程一起运行 -- 而内核负责将处理器在其间分享。 一个 Linux 内核可以支持一个或多个 CPU -- 而您正在使用的内核可能是“可支持-单处理器”(UP-aware)或“可支持-对称多处理器”(SMP-aware)。如果您碰巧有一块 SMP 母板,但您使用的是一个 UP 内核,Linux 将无法“看到”您多余的处理器!要解决这个问题,您需要为您的硬件编译一个特定的 SMP 内核。当前,SMP 内核也可运行在单处理器系统上,但会有少许的性能影响。 抽象 I/O 内核也负责处理非常需要的任务-抽象所有形式的 I/O 操作。想象一下这个后果,如果每个程序需要与您的特定硬件直接操作-当您更换磁盘控制器后,您的所有程序将无法运行了!幸运的是,Linux 内核遵循 UNIX 的模型提供了一个简单的磁盘 I/O 抽象,而每个程序都能使用它。这样,您的数据库系统将不用担心是运行在一个 IDE 硬盘上、一个 SCSI RAID 阵列或一个 NFS 文件系统上了。 网络为中心 Linux 的一个出名之处是它健壮的网络功能,尤其是 TCP/IP 支持。如果您猜测 TCP/IP 栈是实现在 Linux 内核,那您就对了!内核为需要在网络上发送数据的程序提供了一个易用、高层次的接口。在这后面,Linux 内核直接与您的以太网卡或 Modem 直接接口,而且处理底层的 Internet 通讯细节操作。 优秀的网络支持 Linux 一系列优点中出色的一点是所有有用的功能都能包含在内核中,尤其是与网络相关的。例如,您可以配置一个内核来允许您整个的家庭网络通过您 Linux 上的 Modem 访问因特网 -- 这被称为 IP Masquerading,或 IP NAT。 另外,Linux 内核可以被配置为载出或安装(mount)基于网络的 NFS 文件系统,使得其他在您 LAN 上的 UNIX 机器与您的 Linux 系统轻松共享数据。 启动,第一部分 当您开启您基于 Linux 的系统时,内核被一个引导工具,例如 LILO,从硬盘载入内存。在此时,内核接管了您的系统控制。它所作的第一件事是探测并初始化它所找到的硬件 -- 它被编译成能支持的那些。一旦硬件已经被正确初始化,它就准备开始运行进程了。它运行的第一个进程被称为init,位于 /sbin 目录下。然后,init 启动在 /etc/inittab 文件中指定的其他进程。 启动,第二部分 init通常启动一个名为getty程序的多份拷贝,它等待来自控制台的登录。在 getty 成功处理一个登录请求后,您缺省的 shell (通常是 bash) 被载入。一旦您进入 bash,您就有能力来启动任意一个您想要的程序了。 当所有这些新的进程被启动后,内核仍在控制系统,精确地给 CPU 分割时间片这样每个进程将均匀地分到。另外,内核继续为各种运行中的进程提供硬件抽象和网络服务。 介绍...模块! 所有最新的 Linux 内核都支持内核模块。Kernel 模块是非常整齐的 -- 它们是除非需要驻留在硬盘上的内核部分。一旦内核需要一个特定模块的功能时,它从硬盘被载入,自动集成到内核中就可被使用了。另外,如果内核模块有好几分钟未被使用,内核可以自愿地将其从内存中调出 -- 被称之为自动清除。 模块,第二部分 内核模块是驻留在 /lib/modules 目录下,而且每个模块再其文件名结尾都有一个 .o。您也许会猜到,每个模块代表一个内核功能的特定组件 -- 一个模
您可能关注的文档
- 爱乐活攻略270280.docx
- 安徽大学c语言试卷(3).doc
- 安徽省C语言二级试卷200106附答案.doc
- 安全教育汇总表 7—2.doc
- 安全主题班会.2年7班.doc
- 安全自知:保险柜伴侣远程电话报警.doc
- 安卓《小贼物语》三星通关攻略(二).doc
- 暗黑2合成公式1.11版.doc
- 暗黑2圣骑士“加点”新人指导1:双热近战玩法.doc
- 八年级英语Unit 6 I.doc
- 2024-2025学年浙江省湖州市长兴县七年级(上)期末英语试卷(含解析).docx
- 河南省商丘市柘城县2024-2025学年七年级下学期6月期末英语试卷(含答案).docx
- 广东省“六校联盟”2026届高三上学期第一次联考英语试卷(含答案).docx
- 甘肃省天水市麦积区2024-2025学年八年级下学期期末考试英语试卷(含答案).docx
- 2024-2025学年上海市宝山区统编版六年级下册期末考试语文试卷(含答案).docx
- 江苏省无锡市宜兴市2024-2025学年八年级下学期期末考试英语试卷(含答案).docx
- 江西省南昌市名校联盟2025届九年级下学期中考二模语文试卷(含答案).docx
- 车间8与公园距离测量及传感器瞬态声学分析.pdf
- PIC单片机实验指导与实践案例.pdf
- 卓越客户体验管理核心方法论.pdf
文档评论(0)