机制:需要提供什么功能
策略:如何使用这些功能
2、内核功能根据任务完成的不同可划分成如下几部分:
1)进程管理
2)内存管理
3)文件系统
4)设备控制
5)网络功能
3、LINUX将设备分成三种基本类型:字符模块、块模块或网络模块
4、为什么编绎2.6的模块需要构建好的内核树,而2.4不用
2.6之前的版本只需要有一套内核头文件就够了,但2.6内核的模块要和内核源代码树中的目标文件连接,通过这种方式,可得到一个更加健壮的模块装载器.但也需要这些目标文件存在于内核目录树中.所以需要先在自己的系统中先配置并构造好内核树.
5、printk和printf的最大的不同是printk缺乏对浮点数的支持
6、当前进程的获取
#include
然后就可以使用current->pid。。。。 current为指向task_struct的指针
7、应用程序在虚拟内存中布局,并具有一块很大的栈空间。栈是用来保存函数调用历史以及当前活动函数中的自动变量的。但内核只具有非常小的栈,它可能是和一个4096字节大小的而那样小。我们自己的函数必须和整个内核空间调用链一同共享这个栈。因此,声明大的自动变量并不是一个好主意,如果我们需要大的结构,则应该在调用时动态分配该结构