6.4 页级保护(Page-Level Protection)
优质
小牛编辑
136浏览
2023-12-01
两种保护机制和页级保护相关:
1、 可寻址范围约束。
2、 类型检查。
6.4.1 页表项保存保护参数(Page-Table Entries Hold Protection Parameters)
图6-10高亮显示了控制访问的页表项和页目录项的字段。
6.4.1.1 可寻址范围约束(Restricting Addressable Domain)
页面的特权级的概念是通过以下两级来实现的:
1、 超级用户级(Supervisor level (U/S=0))—— 用于关连操作系统和其它一些系统软件和数据。
2、 用户级(U/S=1)—— 用于应用程序子程序和数据。
当前级(U或者S)和CPL相关的。如果CPL是0,1或2,系统在特权级执行。如果CPL是3,处理器在用户级执行。
当系统在超级用户(特权级)模式执行,所有页面可寻址,但是,当处理器在用户模执行时,只有用户的页面可寻址。
6.4.1.2 类型检查(Type Checking)
在分页地址转换时,以下两种类型被定义:
1、 只读访问(R/W=0)(Read-Only Access)
2、 可读写访问(R/w=1)(Read/Write Access)
当处理器在特权模式下执行时,所有页面都是可读可写的。哪处理器在用户模式下执行时,只有用户页面而且被标识为可写的页面才能写,被标识为只读的页面则只允许读取。所有属于超级用户的页面都不可访问,无论读还是写。
6.4.2 混合两级页表保护
对于任何一个页面,它的页目录项可能和页表项的保护属性不同。80386综合计算两级页表的保护参数来保护一个页面。表6-5显示了这种保护。
6.4.3 覆盖页保护(Overrides to Page Protection)
一些访问会使用特权级0来当做访问发出者做检测,即使CPL=3时。
1、对LDT,GDT、TSS、IDT的访问。
3、 通过跨特权级的CALL/INT来访问内层堆栈。