标签:oam 选择 操作系统 单元 dmi 超出 指令集 保护 指针
主要包括五个方面:
段时保护的单元,段描述符中存储着保护机制参数。
程序将选择子装入寄存器时,处理器不仅加载段的基址部分,而且也把保护参数装入段寄存器。每个段寄存器有一个不可见的部分用来存放基址、界限、类型和特权级。
作用:对于以后的保护检查,不必浪费时钟周期从内存去加载这些信息。
根据段描述符推算出段的可寻址范围,防止程序在访问一个段时超出段的范围。如,下标出界,非法指针运算。
当某个段的一个子程序要访问一个段时,处理器会自动的把一个要访问某个段的子程序的特权级和CPL或者更多的特权级相比。这种比较是在当一个描述符被加载到一个段寄存器时执行的。比较的标准在访问数据时和控制转移时是分别不同的。(见6.3.2,6.3.3)
寻址一个操作数时,处理器必须将选择子加载至段寄存器中,此时执行特权级的检查。
涉及:
条件:DPL>=RPL,CPL
即程序只能访问
总结:当任务的CPL改变时,可寻址范围也会改变,CPL=0时,任何特权级的数据段都是可寻址的。
作用:保护操作系统的内部表不被应用程序所读取或更改。
标签:oam 选择 操作系统 单元 dmi 超出 指令集 保护 指针
原文地址:https://www.cnblogs.com/Ivan-Luo/p/11747858.html