頁式儲存管理

2021-06-18 01:04:57 字數 1664 閱讀 1795

作業系統原理:頁式儲存管理

記憶體分割槽儲存管理的乙個特點是連續性,每個程式都分有一片連續的記憶體區域。這種連續性導致碎片問題,包括

固定分割槽中的內碎片和可變分割槽中的外碎片。為了解決這些問題,人們又提出了「頁式儲存管理方案」。它的基本出發點

是打破儲存分配的連續性,使乙個程式的邏輯位址空間可以分布在若干個離散的記憶體塊上,從而達到充分利用記憶體,提高

記憶體利用率的作用。

頁式儲存管理的基本思路是:一方面,把物理記憶體劃分為許多個固定大小的記憶體塊,稱為物理頁面,或頁框;另一方面,把邏輯

位址空間也劃成大小相同的塊,稱為邏輯頁面,頁面的大小要求是2^n.一般在512個位元組到8kb之間。當乙個使用者程式被裝入記憶體時,不是以

整個程式為單位,把它放在一整塊連續的區域,而是以頁面為單位來進行分配的。對於乙個大小為n個頁面的程式,需要有n個空閒的物理頁面

把它裝進去,當然,這些物理頁面不一定是連續的。

在實現頁式儲存管理的時候需要解決以下幾個問題:

1、資料結構:用於儲存管理的資料結構師什麼?

2、記憶體的分配和**:當乙個任務到來時,如何給他分配記憶體空間?當乙個任務執行結束後,如何來**它所占用的記憶體空間?

轉換為記憶體訪問時的實體地址,以確保它能正確的執行?

(1)資料結構。

在頁式儲存管理中,最主要的資料結構有兩個。

1、頁表(page table):頁表給出了任務的邏輯頁面號與記憶體中的物理頁面號之間的對應關係。

2、物理頁面表:用來描述記憶體空間中,各個物理頁面的使用分配狀況。在具體實現上,可以採用位示圖或空閒頁面鍊錶等方法。

(2)位址對映

2、頁表查詢:根據邏輯頁面號,從頁表中找到它所對應的物理頁面號。

頁內偏移量=邏輯位址%頁面大小

b、頁表查詢

對於給定的乙個邏輯位址,如果我們已經知道了它的邏輯頁面號,就可以去查詢頁表,從中找到相應的物理頁面號。

乙個是頁表基位址暫存器,用來指向頁表的起始位址;另乙個是頁表長度暫存器,用來指示頁表的大小,即對於當前任務,它總共包含有多少個頁面。操作

系統在進行任務切換的時候,會去更新這兩個暫存器當中的內容。

c、實體地址的合成。

假設在程式的執行過程中,需要去訪問某個記憶體單元,所以就給出了這個記憶體單元的邏輯位址。然後得出邏輯頁面號和頁內偏移位址。也頁表基位址暫存器當中,

存放的是當前任務的頁表首位址。這個位址加上邏輯頁面號就找到了響應的頁表項,裡面存放的是這個邏輯頁面對應的物理頁面號。這個頁面號與頁內偏移位址進行組合,

從而得到最終的實體地址,然後用這個實體地址去訪問。

有乙個很大的問題:當程式在執行時,如果需要訪問某個記憶體單元,如去讀寫記憶體當中的乙個資料,或是去記憶體取一條指令,在此情況下,需要訪問兩次記憶體:訪問頁表和真正訪問資料或指令。這使得訪問效率只有50%。

為了解決這個問題,人們引入了「快表」的概念。人們在mmu中增加乙個特殊的快速查詢硬體---tlb(translation lookaside buffer),或者叫關聯儲存器,用來存放那些最常去的頁表項。可以把邏輯頁面號直接對映為相應的物理頁面號,這樣就不用訪問記憶體了。

4、優缺點:

優點:1、沒有外碎片。程式不必連續存放。便於管理。

缺點:程式必須全部裝入記憶體,才可以執行。作業系統必須為每乙個任務都維護一張頁表,開銷比較大,簡單的頁表結構已經

不能滿足要求,必須設計出更複雜的結構。如多級頁表結構、雜湊頁表結構、反置頁表。

頁式儲存管理

基本原理 1 等分記憶體 頁式儲存管理將記憶體空間劃分成等長的若干區域,每個區域的大小一般取2的整數冪,稱為乙個物理頁面有時稱為塊。記憶體的所有物理頁面從0開始編號,稱作物理頁號。2 邏輯位址 系統將程式的邏輯空間按照同樣大小也劃分成若干頁面,稱為邏輯頁面也稱為頁。程式的各個邏輯頁面從0開始依次編號...

段頁式儲存管理

段頁式儲存管理技術的基本思想 段頁式儲存管理技術試圖結合分段儲存管理在邏輯上的優點以及分頁儲存管理在物理上的優點,它是採用分段方法來分配和管理使用者的作業位址空間,採用分頁的方法來分配和管理主存 的儲存空間。即把作業分段,段內再分成也,主存分配以頁為單位。在段頁式儲存管理系統中,作業的位址空間被劃分...

段頁式儲存管理

分段式和分頁式管理都有他們各自的優缺點 優點缺點 分段式很方便按照邏輯模組實現資訊的共享和保護 如果段長過大,分配空間不方便,其次,會產生外部碎片 分頁式記憶體利用率高,不會產生外部碎片,只有少量的頁內碎片 不方便按照邏輯模組實現資訊的共享和保護 分段式管理中,產生的外部碎片當然有其解決的方法 緊湊...