linux内核学习从零单排(一)

guanxi@Ubuntu11:~$ uname -a
Linux Ubuntu11.10-b409 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 i686 i386 GNU/Linux

本人所用linux系统版本号。

从http://www.kernel.org/网站上下载自己对应的内核版本源码,解压缩,不重新编译。内核源码输由很多目录组成,arch,block,crypto,Documentation....,大多数目录又含有更多子目录。

准备选取的参考书有:《Linux内核设计与实现》第三版,《深入理解 Linux内核》第三版。先从《Linux内核设计与实现》这本书开始看。

每周至少保证10个小时内核学习时间,并持续更新博客。


内核开发的特点:

1,既不能访问C库也不能访问标准C头文件

2,必须使用GNU C

3,无内存保护机制

4,难以执行浮点运算

5,给每个进程只有一个很小的定常堆栈


linux进程创建:通过fork() 和exec()两个函数实现。 fork通过拷贝当前父进程创建一个子进程,exec负责读取可执行文件并将其载入地址空间开始运行。linux通过clone()系统调用实现fork().


你可能感兴趣的:(linux内核学习从零单排(一))