x86的段页式存储管理

x86页表项中有一个U/S位,表征是否允许一般用户访问,页表项的位明显是基于页式存储管理的,然而访存系统mmu是怎么知道访问者目前是u还是s呢?是u还是s是在哪里设置的呢?根据又是什么呢?其实这个根据并不再页式管理的范畴,而在段式管理范畴,段寄存器中的dpl表征了是u还是s,页式管理是很简单的,仅仅知道页表项的结构和cr3寄存器的作用就可以了,段式管理相对复杂,需要理解int X,异常,中断等导致的cpl切换,从而导致的段寄存器的重新加载。x86已经没有能力再轻松升级了,在沉重的负担背后,它不得不将段式和页式存储管理统一于一个看上去还很不错的机制,那就是特权环。

你可能感兴趣的:(管理)