1. 程式人生 > >操作系統學習(三)、分頁機制

操作系統學習(三)、分頁機制

x86 頁面 管理機 技術 由於 映射 空間 pos 邏輯地址

目錄

1.分頁機制介紹

2.頁表結構

3.頁表項格式

4.虛擬存儲

5.直達底部

分頁機制介紹

分頁機制是 80x86 內存管理機制的第二部分。它在分段機制的基礎上完成虛擬地址到物理地址的轉換過程。分段機制把邏輯地址轉換成線性地址,而分頁機制則把線性地址轉換成物理地址。分頁機制可用於任何一種分段模型。處理器分頁機制會把線性地址空間劃分成頁面,然後這些線性地址空間頁面被映射到物理地址空間的頁面上。分頁機制的幾種頁面級保護措施,可和分段機制保護措施和用或替代分段機制的保護措施。

通過設置控制寄存器 CR0 的 PG 為可以啟用分頁機制。如果 PG=1,則啟用分頁操作,處理器會使用分頁機制將線性地址轉換成物理地址。如果 PG=0,則禁用分頁機制,此時分段機制產生的線性地址直接用作物理地址。

與分段機制不同,分頁機制對固定大小的內存塊(稱為頁面)進行操作。分頁機制把線性地址空間和物理地址空間都劃分成頁面。線性地址空間中的任何頁面可以被映射到物理地址空間的任何頁面上。如下圖所示。
技術分享圖片

80x86使用 4K 字節固定大小的頁面,每個頁面均是 4KB,並且對其於 4K 地址邊界處。 這表示分頁機制把 2^32字節(4GB)的線性地址空間劃分成 2^20(1M = 1048576)個頁面。分頁機制通過吧線性地址空間中的頁面重新定位到物理地址空間中進行操作。由於 4K 大小的頁面作為一個單元進行映射,並且對其於 4K 邊界,因此線性地址的低 12 位可做為頁內偏移地量直接作為物理地址的低 12 位。分頁機制執行的重定向功能可以看作是把線性地址的高 20 位轉換到對應物理地址的高 20 位。

線性到物理地址轉換功能,被擴展成允許一個線性地址被標註為無效的,而非要讓其產生一個物理地址。以下兩種情況一個頁面可以被標註為無效的:

  1. 操作系統不支持的線性地址。

  2. 對應的虛擬內存系統中的頁面在磁盤上而非在物理內存中。

在第一中情況下,產生無效地址的程序必須被終止,在第二種情況下,該無效地址實際上是請求 操作系統虛擬內存管理器 把對喲ing的頁面從磁盤加載到物理內存中,一供程序訪問。

返回目錄

頁表結構

未完待續.....

返回目錄

頁表項格式

返回目錄

虛擬存儲

返回目錄

操作系統學習(三)、分頁機制