一、Unix强大的根本原因?
1、Unix很简洁,设计目的明确,仅提供几百个系统调用(其他系统一般为数千个);
2、Unix几乎所有的东西都被当做文件对待(socket例外),对文件和设备都是通过相同的系统调用接口来实现:open()、read()、write()、lseek()、close();
3、Unix内核和相关的系统工具软件是用C编写的,移植能力很强;
4、Unix进程创建迅速(如fork()系统调用);
5、Unix进程之间通信简单稳定。
二、什么是内核、内核空间?
1、内核通常由相应中断的中断服务程序、管理多个进程从而分享处理器时间的调度程序、管理进程地址空间的内存管理程序和网络、进程之间通信的系统服务程序共同组成。
2、内核空间是处于系统态的内核,拥有访问所有设备的权限和受保护的内存空间。这是相对与用户空间而言的。
三、获取内核代码?
在Linux官方网站http://www.kernel.org/上,可以获取当前版本的Linux源代码。
强烈建议使用Git来下载和管理linux内核源代码。
可以使用Git来获取最新提交到Linus版本树的一个副本:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
下载完成后,你可以更新的你分支到linus的最新分支:
$ git pull
安装内核源代码(不用git的方式):
$ tar xvjf linux-x.y.z.tar.bz2
或者
$ tar xvzf linux-x.y.z.tar.gz
应用增量补丁的方式:
$ patch -pl < ../patch-x.y.z
这篇文章不谈代码,只谈我的读书笔记,这段时间也没有看源代码,等到阅读《情景分析》的时候再谈代码。