linux内核编译详解
日期:2008年3月24日 作者: 查看:[大字体 中字体 小字体]-
一、内核简介
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件
和网络系统,决定着系统的性能和稳定性。
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。下载内核版本请访问http://www.kernel.org。
三、为什么重新编译内核
linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订
了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的
系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。
通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、 更
稳定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是
linux使用者的必要操作内容。
为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般
主要有下面四个考虑:
自己定制编译的内核运行更快(具有更少的代码)
系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)
不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞
将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些
四、内核编译模式
要增加对某部分功能的支持,比如网络之类,可以把相应部分编译到内核中
(build-in),也可以把该部分编译成模块(module),动态调用。如果编译到内核中,
在内核启动时就可以自动支持相应部分的功能,这样的优点是方便、速度快,机器一启动,
你就可以使用这部分功能了;缺点是会使内核变得庞大起来,不管你是否需要这部分功能,
它都会存在,这就是Windows惯用的招数,建议经常使用的部分直接编译到内核中,比如网卡。
如果编译成模块,就会生成对应的.o文件,在使用的时候可以动态加载,优点是不会使内 - [1] [2] [3] [4] [5] [6] 下一页
-
- linux内核编译详解 相关文章:
- ·如何为嵌入式开发建立交叉编译环境
- ·linux内核编译详解
- ·常见电子书格式及其反编译思路
- ·编译安装apache2+php5+mysql4+ZendOptimizer+Cronolog简易文档
- ·编译openh323,pwlib,gnugk问题[转]
- ·一步一步制作ARM-Linux交叉编译环境
- ·如何编译一个内核 - Fedora方式
- ·Perl 语言全面编译
- ·GNU 编译器家族 GCC 内部探密
- ·PB8.0应用程序编译发布技术研究
- linux内核编译详解 相关软件
- ·Chm电子书批量反编译器(ChmDecompiler) V3.50 build 540
- ·汇编语言集成编译器 V1.2
- ·小颖JAVA源代码反编译超级引挚 V1.4 标准版
- ·通用的数学表达式编译计算动态库 V5.1
- ·delphi编译错误中文手册
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:Linux的文书处理软件-vi
精品推荐
热点TOP10
- ·什么是MIS
- ·Vi命令一览表
- ·Linux操作系统介绍
- ·Linux学习手册
- ·BIOS知识大全
- ·Linux操作系统源代码详细分析
- ·VIA-威盛南桥集成AC97声卡驱动安装指南
- ·Linux From Scratch安装学习笔记
- ·最新linux iso光盘下载点
- ·linux知识大全
- ·LINUX 常见问题1000个详细解答
- ·RPM命令大全
- ·为Canon PIXMA iP1000喷墨打印机安装驱动程序
- ·Linux/Unix环境下的make命令详解
- ·万能声卡驱动(Alsa)的安装方法
- ·Linux 线程实现机制分析
- ·常见端口表汇总
- ·Linux主要shell命令详解
- ·Linux发行版图标大全
- ·仅仅查看IP地址
特别推荐
- ·使用Linux系统架设安全的网关
- ·Linux中Mysql安装备份与密码恢复
- ·Linux企业安全管理中的应用
- ·Linux 线程实现机制分析
- ·Linux内核安全的入侵侦察系统
- ·Linux中QQ的配置
- ·Linux下的后门和常见日志工具
- ·BIOS知识大全
- ·如何编写Linux设备驱动程序
- ·Linux管理工具介绍
- ·Linux操作系统源代码详细分析
- ·Linux下用pptp连接VPN服务器
- ·在linux7.1上安装jdk+tomcat+oracle9i笔记
- ·Linux学习手册
- ·学习Linux的八点忠告
- ·深入分析Linux防火墙
- ·UNIX系统后门的安放和日志的擦除
- ·揭开Expect的神秘面纱
- ·万能声卡驱动(Alsa)的安装方法
- ·长篇连载--arm linux演艺---序
