Username: Password:

Linux操作系统的内核编译内幕详解
来源:作者: 发布时间:2007-11-09 05:14:02

内核简介

内核,是个操作系统的核心。他负责管理系统的进程、内存、设备驱动程式、文档和网络系统,决定着系统的性能和稳定性。

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.2.16,最新发布的Redhat7.0所采用的就是2.2.16的内核;研发树的最新版本是2.3.99。也许您已发现和多网站上都有2.4.0-test9-pre7之类的内核,但是这并不是正式版本。内核版本的更新能够访问http://www.kernel.org

为什么重新编译内核

Linux作为一个免费软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。假如用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。

通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、 更稳定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是Linux使用者的必要操作内容。

为了正确的合理地配置内核编译配置选项,从而只编译系统需要的功能的代码,一般主要有下面四个考虑:

自己定制编译的内核运行更快(具备更少的代码)

系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)

无需的功能编译进入内核可能会增加被系统攻击者利用的漏洞

将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些

[1] [2] [3] [4] [5] [6] 下一页

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅