发布时间:2012-12-31 15:29:34
首先内核空间分代码区,堆栈区,全局变量区。每个内核线程还有用户进程都有一个独立的内核堆栈区,Linux内核的堆栈一般是8K,所以在写内核程序的时候一定要小心,防止函数递归的出现,递归可能导致内核堆栈溢出。其次整个内核空间共用相同的页表,所以内核堆栈的在线性空间的起始地址都是不同的(有待考证,个人暂时猜测) 先从常说的进程控制块(PCB)说起,我们知道所谓的PCB就是task_struct变量,task_struct的许多模块都需要变内核中的一些函数修......【阅读全文】