linux0.11进程0是在用户态下,为什么还可以直接使..
时间:2007-04-10 来源:pywj777
linux0.11进程0是在用户态下,为什么还可以直接使用内核代码?
(1) 答:因为在执行保护检测时,是先测试有关段级保护,当段级检测通过后再进行页级保护检测。当前内核的代码与数据段描述符的DPL=0,范围是0~16M,所以当加载内核代码段与数据段时则必须只有当前进程的CPL=0时才可以执行。而任务0的代码段和数据段的DPL=3,范围是0~640KB,并且直接使用为内核代码设置的页目录和页表,页目录和页表项的属性组合是:用户级页、可读、可写、可执行。所以只要进程0不使用特权指令,则它在用户态(CPL=3)时也是可以使用内核代码的。
相关阅读 更多 +