四.(3-4)儲存管理的離散分配方式

weixin_34185364發表於2018-12-08

 基本分頁儲存管理方式

本部分討論不具備對換功能的純分頁模式,作業執行需要全部裝入記憶體。

比較連續分配方式

作業邏輯地址空間有M大,就需要向記憶體申請一個M大的連續區域。

分頁的目的是更細粒度的處理空間,減少粗放管理的浪費或開銷問題。


14171098-334d457129bd2f39.png

1)頁面的概念

u記憶體劃分成多個小單元,每個單元K大小,稱(物理)塊。作業也按K單位大小劃分成片,稱為頁面。

①物理劃分塊的大小= 邏輯劃分的頁的大小

②頁面大小要適中。

太大,(最後一頁)內碎片增大,類似連續分配的問題。

太小的話,頁面碎片總空間雖然小,提高了利用率,但每個程式的頁面數量較多,頁表過長,反而又增加了空間使用。

2)頁表的概念

為了找到被離散分配到記憶體中的作業,記錄每個作業各頁對映到哪個物理塊,形成的頁面對映表,簡稱頁表。

每個作業有自己的頁表

頁表的作用:頁號到物理塊號的地址對映

要找到作業A       關鍵是找到頁表(PCB)    根據頁表找物理塊


14171098-6dafff0bf377537d.png
14171098-9ec43fe0eea71349.png

Ø作業相對地址在分頁下不同位置的數有一定的意義結構:

  頁號+頁內地址(即頁內偏移)

Ø關鍵的計算是:根據系統頁面大小找到不同意義二進位制位的分界線。

Ø從地址中分析出頁號後,地址對映只需要把頁號改為對應物理塊號,偏移不變,即可找到記憶體中實際位置。

4)地址變換機構

前面講解了地址變換的原理,那麼誰具體實現地址對映?——地址變換機構。

圍繞頁表進行工作,那麼頁表資料放在哪?

暫存器一個程式有n個頁,頁表就需要記錄n項資料,需要n個暫存器。不現實。

記憶體。只設定一個頁表暫存器PTR(page table register)記錄頁表在記憶體中的首地址和頁表長度,執行時快速定位頁表。


14171098-54d8c05960ffec6d.png
14171098-f31c743c67e06756.png

5)引入快表——針對訪問速度問題

問題:基本分頁機制下,一次指令需兩次記憶體訪問,處理機速度降低1/2,分頁空間效率的提高以如此的速度為代價,得不償失。

改進:減少第1步訪問記憶體的時間。增設一個具有“並行查詢”能力的高速緩衝暫存器,稱為“快表”,也稱“聯想暫存器”(Associative

memory),IBM系統稱為TLB(Translation Look aside Buffer)。

快表放什麼?:正在執行程式的頁表的資料項。


14171098-8c0ad46f17943948.png
14171098-70c61a45fa610cbb.png
14171098-2bcb1e47c8f74e8b.png

基本分段儲存管理方式

從提高記憶體利用率角度;

固定分割槽-》動態分割槽-》分頁

從滿足並方便使用者(程式設計師)和使用上的要求角度:

分段儲存管理:作業分成若干段,各段可離散放入記憶體,段內仍連續存放。

方便程式設計:如彙編中通過段:偏移確定資料位置

資訊共享:同地位的資料放在一塊方便進行共享設定

資訊保護

動態增長:動態增長的資料段事先固定記憶體不方便

動態連結:往往也是以邏輯的段為單位更方便

1)分段系統的基本原理

程式通過分段(segmentation)劃分為多個模組,每個段定義一組邏輯資訊。如程式碼段(主程式段main,子程式段X)、資料段D、棧段S等。

誰決定一個程式分幾段,每段多大?

編譯程式(基於原始碼)

段的特點:

每段有自己的名字(一般用段號做名),都從0編址,可分別編寫和編譯。裝入記憶體時,每段賦予各段一個段號。

每段佔據一塊連續的記憶體。(即有離散的分段,又有連續的記憶體使用)

各段大小不等。


14171098-1f06928ef7319cbc.png
14171098-a1f2315b4ef9d7b5.png

3)分頁和分段的主要區別

1.需求:分頁是出於系統管理的需要,是一種資訊的物理劃分單位,分段是出於使用者應用的需要,是一種邏輯單位,通常包含一組意義相對完整的資訊。

一條指令或一個運算元可能會跨越兩個頁的分界處,而不會跨越兩個段的分界處。

2.大小:頁大小是系統固定的,而段大小則通常不固定。分段沒有內碎片,但連續存放段產生外碎片,可以通過記憶體緊縮來消除。相對而言分頁空間利用率高。

3.邏輯地址:分頁是一維的,各個模組在連結時必須組織成同一個地址空間;

                     分段是二維的,各個模組在連結時可以每個段組織成一個地址空間。

4.其他:通常段比頁大,因而段表比頁表短,可以縮短查詢時間,提高訪問速度。分段模式下,還可針對不同型別採取不同的保護;按段為單位來進行共享

4)資訊共享

分段系統的突出優點:

易於實現共享:

在分段系統中,實現共享十分容易,只需在每個程式的段表中為共享程式設定一個段表項。

比較課本圖。對同樣的共享內容的管理上,很明顯分段的空間管理更簡單。分頁的圖涉及太多的頁面劃分和地址記錄的管理。

易於實現保護:

程式碼的保護和其邏輯意義有關,分頁的機械式劃分不容易實現。


14171098-56c39f5bab252368.png
14171098-00ab22de9951ed8d.png

相關文章