从内核出发

来源:互联网 发布:柯受良心事谁人知视频 编辑:程序博客网 时间:2024/04/30 22:39

(一):内核源码的获取
​1:通过网站 https://www.kernel.org/ 可以获得最新版本的内核源码,现在最新版的内核源码版本为

这里写图片描述

如果想要获取之前版本的内核源码,点击进入 https://www.kernel.org/pub/ 进入分支。在《linux内核的设计与实现》的这本书中,我们使用的是
内核版本 2.6.18.

​2:从git中获取linux内核源码​    ​在terminal中使用命令​    ​git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git​ 当源码下载完成之后,可以使用下面的命令将内核源码更新到最新的版本:    ​​    ​git pull

(二):内核源码树
下面我们来看一下linux内核的源码树的构成,下面一个是我们的内核源码书的截图:

这里写图片描述

这里写图片描述

在内核源码树中还有一些文件,COPYING文件是内核许可证,CREDITS是开发了很多内核代码的开发者列表,MAINTAINERS是维护者列表,
他们负责维护内核子系统和驱动程序。Makefile是基本内核的Makefile。

(三):内核的编译
这个将单独放到一个小节中去学习,而且对于内核的编译,《linux内核的设计与实现》这本书讲解的并不是很详细。在linux的内核的编译中,最重要的就是内核的配置,上面的每一个参数的了解都是必要的,所以,这个我将放到linux内核实践的添加一个新的系统调用之前进行学习。

(四):内核开发的特点
1:内核编程时,既你不能访问C库也不能访问标准的C头文件
2:内核编程是必须使用GNU C
3:内核编程缺乏像用户空间那样的内存保护机制
4:内核编程时难以执行浮点运算
5:内核给每一个进程只有一个很小的定长堆栈
6:由于内核支持异步中断、抢占和SMP,因此必须时刻注意同步和并发
7:要考虑可移植性的重要性

1 0
原创粉丝点击