1. 程式人生 > >基本分頁儲存管理方式

基本分頁儲存管理方式

連續分配儲存管理方式產生的問題

分割槽儲存管理中,要求把程序放在一個連續的儲存區中,因而會產生許多碎片。

碎片問題的解決方法

1)拼接/緊湊技術----代價較高

2)離散分配方式---允許將作業/程序離散放到多個不相鄰接的分割槽中,就可以避免拼接

離散分配方式

分頁式儲存管理:離散分配的基本單位是頁

分段式儲存管理:離散分配的基本單位是段

段頁式儲存管理:離散分配的基本單位是段、頁

什麼是頁

將一個使用者程序的地址空間(邏輯)劃分成若干個大小相等的區域,稱為頁或頁面,頁面大小由地址結構(邏輯)決定 ,併為各頁從0開始編號。

什麼是塊

記憶體空間也分成若干個與頁大小相等的區域,稱為(儲存、物理)

塊或頁框frame),同樣從0開始編號。

記憶體分配

在為程序分配記憶體時,以塊為單位,將程序中若干頁裝入到多個不相鄰的塊中,最後一頁常裝不滿一塊而出現頁內碎片

頁表的出現

在分頁系統中,允許將程序的各個頁離散地儲存在記憶體的任一物理塊中,為保證程序仍然能夠正確地執行,即能在記憶體中找到每個頁面所對應的物理塊,系統又為每個程序建立了一張頁面映像表,簡稱頁表。一個頁表中包含若干個表目,1.表目的自然序號對應於使用者程式中的頁號。2.表目中的塊號是該頁對應的物理塊號。

記憶體地址的獲取

頁號查頁表,得到對應頁裝入記憶體的塊號。即可求出:記憶體地址=物理塊號×頁大小+頁內地址。

:在採用頁式儲存管理的系統中,某作業J的邏輯地址空間為4(每頁2048位元組),且已知該作業的頁面映像表如下:

頁號 塊號
0 2
1 4
2 6
3 8

藉助地址變換圖求出有效邏輯地址4865所對應的實體地址.

:頁號  4865/2048=2   頁內位移   4865%2048=769,過程如下:

從上面我們可以看出:CPU要想獲取一個數據時,必須兩次訪問記憶體:

1、從記憶體中的頁表中,尋找對應的物理塊號,將物理塊號與頁內地址組合成實體地址。

2、根據組合成的實體地址,來獲取資料。

為了提高效率呢,就引進了塊表,什麼是快表呢?

在地址變換機構中,增設一個具有並行查尋能力的特殊高速緩衝暫存器,稱為“聯想儲存器”或“快表”。

在引入快表的分頁儲存管理方式中,通過快表查詢,可以直接得到邏輯頁所對應的物理塊號,由此拼接形成實際實體地址,減少了一次記憶體訪問,縮短了程序訪問記憶體的有效時間。但是,由於快表的容量限制,不可能將一個程序的整個頁表全部裝入快表,所以在快表中查詢到所需表項存在著命中率的問題,。總體上來說,還是減少了訪問記憶體的時間。