第二章读书笔记

第二章读书笔记

git工具使用获取内核代码

本质:git实际上是一种开源的分布式版本控制工具

从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

1:查看邮件或者通过其它方式查看一般开发者的提交状态。

2:打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

3:向公共服务器提交结果,然后通知所有开发人员。

优点:

1 适合分布式开发,强调个体。

2 公共服务器压力和数据量都不会太大。

3 速度快、灵活。

4 任意两个开发者之间可以很容易的解决冲突。

5 离线工作。

缺点:资料少(起码中文资料很少)。学习周期相对而言比较长。不符合常规思维。代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

内核源码结构

主要介绍有:

Documentation:这个目录下面没有内核代码,只有很多质量参差不齐的文档,但往往能够给我们提供很多的帮助。

arch:所有与体系结构相关的代码都在这个目录以及include/asm-*/目录中,Linux支持的每种体系结构在arch目录下都有对应的子目录,而在每个体系结构特有的子目录下又至少包含3个子目录。

kernel:存放支持体系结构特有的诸如信号量处理和SMP之类特征的实现。

lib:存放体系结构特有的对诸如strlen和memcpy之类的通用函数的实现。

mm:存放体系结构特有的内存管理程序的实现。

等等

编译内核

make config:遍历所有配置项,并让用户选择

make deconfig:按默认的配置

make oldconfig:先将/boot目录下的配置文件写进.config文件中,采用的是注释的形式写进新增加的功能。

内核开发特点

1 无libc库/标准头文件

2 必须使用GNU C

3 没有内存保护机制

4 难以执行浮点运算

5 每个进程只有一个很小的定长堆栈

6 必须时刻注意同步和并发

7 考虑可移植性的重要性

总结:

本章主要介绍的是关于linux内核的一些基本工具的使用以及怎么配置的问题,也为总体介绍了Linux的一些主要特点以及在使用中经常用到以及关注到的小问题

对于linux内核,C编出的代码模式总体给予了一定的介绍,为我们以后的学习打下必要的基础

posted @ 2016-03-20 18:37  20135224陈实  阅读(139)  评论(0编辑  收藏  举报