12 2012 档案

摘要:任务0的PCB块是由INIT_TASK结构初始化的,初始化在sched_init()函数中进行,该结构中便已定义了一个ldt代码段描述符和一个ldt数据段描述符 任务1的PCB块是复制自任务0的,然后再修改一部分的值。。其中ldt结构代码段和数据段的基地址在copy_mem()函数中修改,改为nr*0x4000000. 为了TSS结构能够寻得该任务的ldt段。ldt段的全局描述符选择符必须放在tss.ldt中,而任务1的段限长和任务0一样都是640k并不修改,copy_page_tables函数是一个很复杂的函数,他以nr*0x4000000地址为开头建立了若干个页面,任务0的段限长有多大,即 阅读全文
posted @ 2012-12-17 21:30 一维 阅读(778) 评论(1) 推荐(0) 编辑