Linux内核设计与实现 学习笔记(一)

一、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
这篇文章不谈代码,只谈我的读书笔记,这段时间也没有看源代码,等到阅读《情景分析》的时候再谈代码。



你可能感兴趣的:(Linux内核设计与实现 学习笔记(一))