## 6.4 頁級保護(Page-Level Protection)
兩種保護機制和頁級保護相關:
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來訪問內層堆棧。

- 第一章 80386介紹
- 1.1 該手冊的組織結構
- 1.2 其他文獻
- 第二章 編程基本模型
- 2.1 存儲器組織和段
- 2.2 數據類型
- 2.3 寄存器
- 2.4 指令格式
- 2.5 操作數選擇
- 2.6 中斷和異常
- 第4章 系統寄存器
- 4.1 系統寄存器 (System Registers)
- 4.2 系統指令 (System Instructions)
- 第五章 內存管理
- 5.1 分段地址轉換(Segment Translation)
- 5.2 分頁地址轉換(Page Translation)
- 5.3 混合分段和分頁地址轉換(Combining Segment and Page Translation)
- 第六章 內存管理
- 6.1 為什么要保護(Why Protection?)
- 6.2 80386保護機制概述(Overview of 80386 Protection Mechnaisms)
- 6.3 段級保護(Segment-Level Protection)
- 6.4 頁級保護(Page-Level Protection)
- 6.5 混合分頁和分段保護(Combining Page and Segment Protection)
- 第7章 多任務(Multitasking)
- 8.1 I/O 尋址(I/O Addressing)
- 7.1 任務狀態段(Task State Segment)
- 7.3 任務寄存器(Task Register)
- 7.4 任務門描述符(Task Gate Descriptor)
- 7.5 任務切換(Task Switching)
- 7.6 任務鏈(Task Linking)
- 7.7 任務尋址空間(Task Address Space)
- 第8章 輸入 輸出
- 8.2 I/O 指令(I/O Instructions)
- 8.3 保護和I/O(Protection and I/O)
- 第9章 異常和中斷(Exceptions and Interrupts)
- 9.1 識別中斷(Identifying Interrupts)
- 9.2 允許和禁止中斷(Enabling and Disabling Interrupts)
- 9.3 同時發生的中斷和異常的優先級(Priority Among Simultaneous Interrupts and Exceptions)
- 9.4 中斷描述符表(Interrupt Descriptor Table)
- 9.5 IDT 描述符(IDT Descriptors)
- 9.6 中斷任務和中斷子程序(Interrupt Tasks and Interrupt Procedures)
- 9.7 出錯碼(Error Code)
- 9.8 異常條件(Exception Conditions)
- 9.9 異常總結(Exception Summary)
- 9.10 出錯碼總結(Error Code Summary)
- 第10章 初始化(Initialization)
- 10.1 復位后處理器狀態(Processor State After Reset)
- 10.2 實模式初始化(Software Initialization for Real-Address Mode)
- 10.3 切換到保護模式(Switching to Protected Mode)
- 10.4 保護模式初始化(Software Initialization for Protected Mode)
- 10.5 初始化示例
- 10.6 TLB測試
- 第十四章 80386實地址模式
- 14.1 物理地址構成
- 14.2 寄存器和指令
- 14.3 中斷和異常處理
- 14.4 進入和離開實地址模式
- 14.6 實地址模式異常
- 14.7 與8086的不同
- 14.8 與80286實地址模式的不同