1982年英特尔发布了80286处理器,他们在分段方案中加入了4个权限级别(ring 0-3),由全局描述符表(GDT)和本地描述符表(LDT)中的2位指定。
在80386处理器中,英特尔添加了分页功能,但令人惊讶的是,它只有2个特权级别(监管者和用户),由页面目录表项(PDE)和页面表项(PTE)中的单个位指定。
这意味着仅使用分页的操作系统(如大多数现代操作系统)无法从1和2级特权级别的存在中获益,而这对于驱动程序可能非常有用。(例如,Win9x经常崩溃,因为它正在将带有错误的未经检查的驱动程序加载到ring 0中。)
从可移植性的角度来看,1和2级的存在是x86架构中的怪癖,并且可移植的操作系统不应该使用它们,因为其他架构只有2个特权级别。
但我相信,1985年设计386处理器时,英特尔工程师并没有考虑向其他平台的可移植性。
那么,为什么英特尔不像分段一样允许分页具有4个特权级别呢?
在80386处理器中,英特尔添加了分页功能,但令人惊讶的是,它只有2个特权级别(监管者和用户),由页面目录表项(PDE)和页面表项(PTE)中的单个位指定。
这意味着仅使用分页的操作系统(如大多数现代操作系统)无法从1和2级特权级别的存在中获益,而这对于驱动程序可能非常有用。(例如,Win9x经常崩溃,因为它正在将带有错误的未经检查的驱动程序加载到ring 0中。)
从可移植性的角度来看,1和2级的存在是x86架构中的怪癖,并且可移植的操作系统不应该使用它们,因为其他架构只有2个特权级别。
但我相信,1985年设计386处理器时,英特尔工程师并没有考虑向其他平台的可移植性。
那么,为什么英特尔不像分段一样允许分页具有4个特权级别呢?