- 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 内核编译详解
linux 内核编译详解 [本文最初由 solaris 发布]
一、内核简介
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设
备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
linux 的一个重要的特点就是其源代码的公开性,所有的内核源程序
都可以在/usr/src/linux 下找到,大部分应用软件也都是遵循 GPL 而设计
的,你都可以获取相应的源程序代码。全世界任何一个软件工程师都可以
将自己认为优秀的代码加入到其中, 由此引发的一个明显的好处就是
Linux 修补漏洞的快速以及对最新软件技术的利用。而 Linux 的内核则是
这些特点的最直接的代表。
想象一下,拥有了内核的源程序对你来说意味着什么?首先,我们可
以了解系统是如何工作的。通过通读源代码,我们就可以了解系统的工作
原理,这在 Windows 下简直是天方夜谭。其次,我们可以针对自己的情
况,量体裁衣,定制适合自己的系统,这样就需要重新编译内核。在
Windows 下是什么情况呢?相信很多人都被越来越庞大的 Windows 整得
莫名其妙过。再次,我们可以对内核进行修改,以符合自己的需要。这意
味着什么?没错,相当于自己开发了一个操作系统,但是大部分的工作已
经做好了,你所要做的就是要增加并实现自己需要的功能。在 Windows
下,除非你是微软的核心技术人员,否则就不用痴心妄想了。
二、内核版本号
由于linux 的源程序是完全公开的,任何人只要遵循 GPL,就可以对
内核加以修改并发布给他人使用。Linux 的开发采用的是集市模型(bazaar,
与 cathedral--教堂模型--对应),为了确保这些无序的开发过程能够有序
地进行,Linux 采用了双树系统。一个树是稳定树(stable tree ),另一
个树是非稳定树(unstable tree )或者开发树(development tree )。一
些新特性、实验性改进等都将首先在开发树中进行。如果在开发树中所做
的改进也可以应用于稳定树,那么在开发树中经过测试以后,在稳定树中
将进行相同的改进。一旦开发树经过了足够的发展,开发树就会成为新的
稳定树。开发数就体现在源程序的版本号中;源程序版本号的形式为
x.y.z :对于稳定树来说,y 是偶数;对于开发树来说,y 比相应的稳定树
大一 (因此,是奇数)。到目前为止,稳定树的最高版本是 2.4.18 ;开发
树的最新版本是 2.5.10 。下载内核版本请访问 。
三、为什么重新编译内核
linux 作为一个自由软件,在广大爱好者的支持下,内核版本不断更
新。新的内核修订了旧内核的 bug,并增加了许多新的特性。如果用户想
要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的
内核,就需要重新编译内核。
通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,
运行速度更快、 更稳定,并且一般会修复老版本中发现的许多漏洞等,
经常性地选择升级更新的系统内核是 linux 使用者的必要操作内容。
为了正确的合理地设置内核编译配置选项,从而只编译系统需要的
功能的代码,一般主要有下面四个考虑:
l 自己定制编译的内核运行更快(具有更少的代码)
l 系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)
l 不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞
l 将某种功能编译为模块方式会比编译到内核内的方式速度要慢一
些
四、内核编译模式
要增加对某部分功能的支持,比如网络之类,可以把相应部分编译到
内核中(build-in),也可以把该部分编译成模块(module),动态调用。
如果编译到内核中,在内核启动时就可以自动支持相应部分的功能,这样
的优点是方便、速度快,机器一启动,你就可以使用这部分功能了;缺点
是会使内核变得庞大起来,不管你是否需要这部分功能,它都会存在,这
就是 Windows 惯用的招数,建议经常使用的部分直接编译到内核中,比
如网卡。如果编译成模块,就会生成对应的.o 文件,在使用的时候可以动
态加载,优点是不会使内核过分庞大,缺点是你得自己来调用这些模块。
五、新版本内核的获取和更新
linux 内核版本发布的官方网站是。新版本的内
核...问剑恢质荈 ull Source 版本,另外一种是 patch 文件,即补丁。完
整的内核版本比较大,一般是tar.gz 或者是.bz2 文
文档评论(0)