2011年4月28日
摘要: 描述任务0的内核堆栈和用户堆栈是如何产生的: 1, linux0.11系统共使用了4种堆栈:系统初始化时临时使用的堆栈;供内核程序自己使用的堆栈(内核堆栈),只有一个,位于系统 地址空间固定的位置,也就是后来任务0的用户态堆栈;每个任务通过系统调用,执行内核程序时使用的堆栈,也即任务的内核态 堆栈,每个任务都有自己独立的内核态堆栈;任务在用户态执行的堆栈,位于任务(进程)地址空间末端,即任务的用户态堆栈 2, 从head.s程序起,系统正式在保护模式下运行,此时堆栈段被设置为内核数据段(0x10),堆栈指针esp设置成指向use_stack 数组的顶端,保留1页内存作为堆栈使用。head.s. 阅读全文
posted @ 2011-04-28 19:40 将军之盾 阅读(841) 评论(0) 推荐(0) 编辑