Linux 操作系统内核编译详解
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动
程序、文件和网络系统,决定着系统的性能和稳定性。
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,并增加了许多新的特性。如果用户想要使用这些
新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重
新编译内核。
评论0