2011年3月20日

摘要: 主要有4个数据结构task_union(sched.c第53行)//这实际上是一页内存,页面低端头部放的是task_struct(进程控制块)结构,页面//其他部分当作进程的内核态堆栈使用union task_union { struct task_struct task; char stack[PAGE_SIZE];}; task[NR_TASKS] (sched.c第65行) <!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } A:link { so-language: zxx } --> //task_... 阅读全文
posted @ 2011-03-20 17:26 yming0221 阅读(278) 评论(0) 推荐(0)
摘要: 程序(进程)的虚拟地址和逻辑地址虚拟地址(virtualaddress)指程序产生的有段选择符和段内偏移两部分组成的地址。一个程序的虚拟地址空间有GDT映射的全地址空间和LDT映射的局部地址空间组成。逻辑地址(logicaladdress)指程序产生的段内偏移地址。应用程序只与逻辑地址打交道,分段分页对应用程序来说是透明的。也就是说C语言中的&,汇编语言中的符号地址,C中嵌入式汇编的”m”对应的都是逻辑地址。CPU的线性地址线性地址(linearaddress)是逻辑地址到物理地址变换的中间层,是处理器可寻址空间的地址。程序代码产生的逻辑地址加上段基地址就产生了线性地址。实际物理内存地 阅读全文
posted @ 2011-03-20 17:08 yming0221 阅读(277) 评论(0) 推荐(0)

导航