

http://www.lampbrother.net
Linux
操作系统内核编译详解
内核简ä»?/p>
î—?/p>
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和ç½?/p>
络系统,决定着系统的性能和稳定性ã€?/p>
Linux
的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以åœ?
/usr/src/linux
下找到,大部分应用软件也都是遵循
GPL
而设计的,你都可以获取相应的
源程序代码ã€?/p>
全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中ï¼?/p>
由此å¼?/p>
发的一个明显的好处就是
Linux
修补漏洞的快速以及对最新软件技术的利用ã€?/p>
�/p>
Linux
的内
核则是这些特点的最直接的代表ã€?/p>
î—?/p>
想象一下,
拥有了内核的源程序对你来说意味着什么?首先ï¼?/p>
我们可以了解系统是如何工
作的ã€?/p>
通过通读源代码,
我们就可以了解系统的工作原理ï¼?/p>
这在
Windows
下简直是天方夜谭ã€?/p>
其次ï¼?/p>
我们可以针对自己的情况,量体裁衣ï¼?/p>
定制适合自己的系统,这样就需要重新编译内
核。在
Windows
下是什么情况呢?相信很多人都被越来越庞大的
Windows
整得莫名其妙过ã€?/p>
再次ï¼?/p>
我们可以对内核进行修改,以符合自己的需要。这意味着什么?没错,相当于自己开
发了一个操作系统,
但是大部分的工作已经做好了,
你所要做的就是要增加并实现自己需è¦?/p>
的功能。在
Windows
下,除非你是微软的核心技术人员,否则就不用痴心妄想了ã€?/p>
î—?/p>
内核版本å�?/p>
î—?/p>
由于
Linux
的源程序是完全公开的,任何人只要遵å¾?/p>
GPL
,就可以对内核加以修改并发布
给他人使用ã€?/p>
Linux
的开发采用的是集市模型(
bazaar
,与
cathedral--
教堂模型
--
对应ï¼?/p>
ï¼?/p>
为了确保这些无序的开发过程能够有序地进行ï¼?/p>
Linux
采用了双树系统。一个树是稳定树
ï¼?/p>
stable
tree
ï¼?/p>
ï¼?/p>
另一个树是非稳定æ ?/p>
ï¼?/p>
unstable
tree
ï¼?/p>
或者开发树
ï¼?/p>
development
tree
ï¼?/p>
�/p>
一些新特性ã€?/p>
实验性改进等都将首先在开发树中进行ã€?/p>
如果在开发树中所做的改进也可以应
用于稳定树,
那么在开发树中经过测试以后,
在稳定树中将进行相同的改进ã€?/p>
一旦开发树ç»?/p>
过了足够的发展,
开发树就会成为新的稳定树ã€?/p>
开发数就体现在源程序的版本号中ï¼?/p>
源程åº?/p>
版本号的形式ä¸?/p>
x.y.z
:对于稳定树来说ï¼?/p>
y
是偶数;对于开发树来说ï¼?/p>
y
比相应的稳定æ ?/p>
大一(因此,是奇数)。到目前为止,稳定树的最高版本是
2.2.16
,最新发布的
Redhat7.0
所采用的就æ˜?/p>
2.2.16
的内核;开发树的最新版本是
2.3.99
。也许你已经发现和多网站上都
�/p>
2.4.0-test9-pre7
之类的内核,但是这并不是正式版本ã€?/p>
î—?/p>
为什么重新编译内æ ?/p>