記憶體離散分配 分頁 分段

2021-09-01 12:55:12 字數 1202 閱讀 8717

基本分頁儲存管理方式

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

離散分配記憶體:

作業規定大小劃分成小份;記憶體也按同樣大小劃分成小份

作業的任一小份可分散放入記憶體任意未使用的小份

(分頁方式下,記憶體的使用率高,浪費少。但不是絕對沒有碎片(程序的最後一頁不總是能佔滿乙個物理塊))

1)頁面的概念

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

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

②頁面大小要適中。

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

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

2)頁表的概念

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

每個作業有自己的頁表

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

要找到作業a:關鍵是找到頁表(pcb),根據頁表找物理塊

3)位址的處理

連續方式下,每條指令用基位址+偏移量即可找到其物理存放的位址。

分頁方式下位址對映(位址計算)的過程?

若要執行某作業的一條指令,其相對位址是24b (設10b一頁,頁表如右表),其實體地址到底是多少呢?

分析其所在的頁和偏移得:2號頁(頁號從0開始) ,偏移4b處是該條指令

查頁表找頁面對應的塊(2號頁儲存在6號物理塊)

找物理塊6,向下偏移4b,找到要執行的指令。取出執行即可。

計算上就是求商(頁號)及取餘(偏移量)的過程

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

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

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

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

注意:一作業所有指令在使用者位址空間是順序編址

重要引數:系統頁面大小=8b,指令大小=1b

記憶體離散分配,分段

分頁的目的是更細粒度的處理空間,減少粗放管理的浪費或開銷問題。離散分配記憶體 作業規定大小劃分成小份 記憶體也按同樣大小劃分成小份 作業的任一小份可分散放入記憶體任意未使用的小份 分頁方式下,記憶體的使用率高,浪費少。但不是絕對沒有碎片 程序的最後一頁不總是能佔滿乙個物理塊 1 頁面的概念 記憶體劃...

記憶體分配 分頁 分段

關於計算機記憶體分配,主要有兩種 連續記憶體分配和非聯絡記憶體分配。需要注意的是,這是作業系統級別的,而堆與棧的記憶體分配,是屬於編譯器級別的,具體可以參考另一篇筆記 連續記憶體分配是指為乙個程式分配位址連續的一段記憶體,當出現許多程式時,由於程式大小不一必然會出現許多的記憶體碎片,無法充分發揮出所...

4 3記憶體離散分配 分頁

基本分頁儲存管理方式 分頁的目的是更細粒度的處理空間,減少粗放管理的浪費或開銷問題。離散分配記憶體 作業規定大小劃分成小份,記憶體也按同樣大小劃分成小份 作業的任一小份可分散放入記憶體任意未使用的小份 分頁方式下,記憶體的使用率高,浪費少,但不是絕對沒有碎片 程序的最後一頁不總是能佔滿乙個物理塊 1...