Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2046270
  • 博文数量: 326
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3485
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-10 22:49
文章存档

2011年(1)

2009年(1)

2008年(6)

2007年(5)

2006年(154)

2005年(159)

我的朋友

分类: LINUX

2005-12-10 23:09:47


Linux操作系统的内核编译内幕详解 (2)

为什么重新编译内核

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

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

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

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

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

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

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

内核编译模式

要增加对某部分功能的支持,比如网络之类,可以把相应部分编译到内核中(build-in),也可以把该部分编译成模块(module),动态调用。

如果编译到内核中,在内核启动时就可以自动支持相应部分的功能,这样的优点是方便、速度快,机器一启动,你就可以使用这部分功能了;缺点是会使内核变得庞 大起来,不管你是否需要这部分功能,它都会存在,这就是Windows惯用的招数,建议经常使用的部分直接编译到内核中,比如网卡。

如果编译成模块,就会生成对应的.o文件,在使用的时候可以动态加载,优点是不会使内核过分庞大,缺点是你得自己来调用这些模块。

内核编译详解

新版本内核的获取和更新

Linux内核版本发布的官方网站是,国内各大ftp上一般都可以找到某些版本的内核。新版本的内核的发布有两种形式,一种是完整的内核版本,另外一种是patch文件,即补丁。

完整的内核版本比较大,比如linux-2.4.0-test8.tar.bz2就有18M之多,网速快的用户可以下载使用。完整内核版本一般是.tar.gz(.tgz)文件或者是.bz2文件,二者分别是使用gzip或者bzip2进行压缩的文件,使用时需要解压缩。

阅读(560) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~