也许你不必开发自己的操作系统,但如果你真想体验一下底层技术开发带给你的快乐,你就很有必要参与一下编译操作系统内核的工作。因为只有如此,你才可能真的精通一个操作系统。早在2000年,国内开源软件的早期倡导者宫敏先生就给出了这样的建议。


Linux内核发展简史
1991年9月,Linux 0.01诞生,更确切地说,是0.01版的Linux内核诞生了。1994年3月,Linux 1.0推出,Linux内核开始真正成形。1996年6月,Linux推出了2.0版本的内核,从此Linux的大版本就没有改动过。2001年1月,Linux 2.4推出。2003年12月 ,Linux2.6推出。至本月,Linux内核又发布了2.6.12版本

Linux内核发展到了2.4的版本,已经是一个较为成熟的版本了。支持所有64位处理器、面向企业、全方位整合系统资源、需要更少内存的Linux 2.4内核完整版,将为人类打开一个美丽的新世界。
解密Linux内核2.4

2.6相对于2.4有很大的改动;它引入了许多新的特性,同样也去除很多过时的特性。它在哪些方面有大的改动?它对Linux的开发人员以及其他层面的Linux用户可能有什么样的影响?阅读此文,你将得到答案。
Linux 2.6内核的精彩世界(一)
Linux 2.6内核的精彩世界(二)
Linux 2.6内核的精彩世界(三)
Linux 2.6内核的精彩世界(四)

基本技能
要使用新的内核首先当然要取得新内核的源码,内核的官方网站是http://www.kernel.org 在上面可以得到最新的内核。下载了内核源码之后,我们还要提取源码,然后才能进入编译的过程。
2.6内核的安装(一)
2.6内核的安装(二)

配置与编译内核用到的工具很多,在这里只对几个关键工具进行介绍:Make、GCC、RPMBuild、中间件。
linux配置、编译内核实用工具

编译实战
由于操作系统的内核贴近硬件,需要对计算机的体系结构有所了解,例如CPU的工作原理、接口特性和BIOS调用等。读者千万别因为这些望而却步,这里将介绍一些阅读Linux内核源码必备的技能。
看Linux内核源码 练内力必备技能

对于用户,编译一个内核版本需要的不仅是升级内核和软件那么简单。一般来说,编译后的内核都能很好地工作,但是有些功能在初始化时(准确地说是在系统初始化阶段,即init执行rc.sysini和rcx.d时)会失败。
内核编译问题详解

在Kernel 2.6x和以前的版本的编译方法有点区别,所以就简单的把编译过程写出来,主要是帮助初学Linux的兄弟。
Kernel 2.6x 编译过程

编置内核包含两大项内容,即配置内核和编译内核。这两项工作需要经常查看内核的文档,至少要查看Readme文件和Documentation目录下的Changes文件。它们对内核进行了描述,比如升级内核可能出现的问题和内核对系统中工具的版本要求等。Linux内核的编制方法下面将做具体说明。
Linux配置与编译内核

linux-2.6.x内核发布后,与2.6.x内核配套的系统程序并没有相应的来得及更新, 升级过程会碰到很多问题。虽然网上已有很多关于升级到2.6.x文章,但总是有些细节没有作很好的总结,因此撰写本文将我的经验与大家分享一下。
升级RH9.0到2.6.5内核全过程

配置和编译内核很复杂吗?如果对你来说答案是肯定的,那么来试试看图说话式的教学方法吧。
Linux 2.6内核编译安装全景体验(上)
Linux 2.6内核编译安装全景体验(中)
Linux 2.6内核编译安装全景体验(下)

提高篇
linux是一个具有保护模式的操作系统。它一直工作在i386 cpu的保护模式之下。
内存被分为两个单元: 内核区域和用户区域。内核区域存放并运行着核心代码,当然,顾名思义,用户区域也存放并运行用户程序。当然,作为用户进程来讲它是不能访问内核区域内存空间以及其他用户进程的地址空间的。
关于Linux内核级后门的原理和简单实战

自动软件测试让您可以在一段时间内运行相同的测试,从而确保您所比较的内容具备真正的可比性。在本文中,Linux Test Project 团队的成员们分享了他们对 Linux? 内核进行压力所使用的测试的方法、原理以及脚本和工具。
对 Linux 内核进行压力测试

推荐学习网站:http://www.oldlinux.org/index_cn.html,收集Linux从酝酿到开发初始版本有关的所有资料和信息(1991-1995);重新建立起最古老的Linux可运行系统,这些系统在其它地方很难再找到了;为初学者提供一个学习Linux内核基本工作原理的最简单方法。
Logo

更多推荐