第4章 儲存器管理 連續分配儲存管理方式

2021-08-30 11:14:59 字數 2484 閱讀 2042

為乙個使用者程式分配乙個連續的記憶體空間

(1)單一連續分配

記憶體分為系統區和使用者區兩部分:

系統區:僅提供給os使用,通常放在記憶體低址部分

使用者區:除系統區以外的全部記憶體空間,提供給使用者使用。

最簡單的一種儲存管理方式,只能用於單使用者、單任務的作業系統中。

優點:易於管理。缺點:對要求記憶體空間少的程式,造成記憶體浪費;程式全部裝入,很少使用的程式部分也占用記憶體。

(2)固定分割槽分配

把記憶體分為一些大小相等或不等的分割槽(partition),每個應用程序占用乙個分割槽。作業系統占用其中乙個分割槽。

提高:支援多個程式併發執行,適用於多道程式系統和分時系統。最早的多道程式儲存管理方式。

1)如何劃分分割槽大小

分割槽大小相等:只適合於多個相同程式的併發執行(處理多個型別相同的物件)。缺乏靈活性。

分割槽大小不等:多個小分割槽、適量的中等分割槽、少量的大分割槽。根據程式的大小,分配當前空閒的、適當大小的分割槽。

2)需要的資料結構

建立一記錄相關資訊的分割槽表(或分割槽鍊錶),表項有: | 起始位置 | 大小 | 狀態 |

分割槽表中,表項值隨著記憶體的分配和釋放而動態改變

3)固定分配的不足:

內碎片(乙個分區內的剩餘空間)造成浪費

分割槽總數固定,限制併發執行的程式數目

(3)動態分割槽分配

分割槽的大小不固定:在裝入程式時根據程序實際需要,動態分配記憶體空間,即——需要多少劃分多少。 、

空閒分割槽表項:從1項到n項:記憶體會從初始的乙個大分割槽不斷被劃分、**從而形成記憶體中的多個分割槽。

優點:併發程序數沒有固定數的限制,不產生內碎片。

缺點:有外碎片(分區間無法利用的空間)

具體實現:

①資料結構

空閒分割槽表:記錄每個空閒分割槽的情況。 每個空閒分割槽對應乙個表目,包括分割槽序號、分割槽始址及分割槽的大小等資料項。

空閒分割槽鏈:每個分割槽的起始部分,設定用於控制分割槽分配的資訊,及用於鏈結各分割槽的前向指標; 分割槽尾部則設定一后向指標,在分割槽末尾重複設定狀態位和分割槽大小表目方便檢索。

②分割槽分配演算法

動態分割槽方式,分割槽多、大小差異各不相同,此時把乙個新作業裝入記憶體,更需選擇乙個合適的分配演算法,從空閒分割槽表/鏈中選出一合適分割槽

首次適應演算法ff(first-fit):

檢索:分配記憶體時,從鏈首開始順序查詢直至找到乙個大小能滿足要求的空閒分割槽; 分配:從該分割槽中劃出一塊作業要求大小的記憶體空間分配給請求者,餘下的空閒分割槽大小改變仍留在空閒鏈中。 若從頭到尾檢索不到滿足要求的分割槽則分配失敗

缺點:但低址部分不斷劃分,會產生較多小碎片;而且每次查詢從低址部分開始,會逐漸增加查詢開銷。

迴圈首次適應演算法 (next-fit)

分配:分出需要的大小

優點:空閒分割槽分布均勻,減少查詢開銷缺點:缺乏大的空閒分割槽

最佳適應演算法 (best-fit)

總是把能滿足要求、又是最小的空閒分割槽分配給作業,避免「大材小用」。

空閒分割槽排序:所有空閒分割槽按容量從小到大排序成空閒分割槽表或鏈。

檢索:從表或鏈的頭開始,找到的第乙個滿足的就分配

分配:分出需要的大小  

缺點:每次找到最合適大小的分割槽割下的空閒區也總是最小,會產生許多難以利用的小空閒區(外碎片)

最差適應演算法/最壞匹配法(worst-fit):

基本不留下小空閒分割槽,但會出現缺乏較大的空閒分割槽的情況。

快速適應演算法

根據程序常用空間大小進行劃分,相同大小的串成乙個鏈,需管理多個各種不同大小的分割槽的鍊錶。程序需要時,從最接近大小需求的鏈中摘乙個分割槽。類似的:夥伴演算法

能快速找到合適分割槽,但鍊錶資訊會很多;實際上是空間換時間。

第4章 儲存器管理

思維導圖 儲存器管理 1 重點是記憶體管理,對其有效的管理直接影響儲存器的利用率 系統效能。1.儲存器資源的分配和 2.位址變換 邏輯位址與實體地址的對應關係維護 3.儲存共享和保護 4.虛擬儲存的排程演算法 2 外存的管理 磁碟儲存器管理 檔案系統等中涉及。一 程式的裝入和鏈結 多道程式環境下,程...

第4章 儲存器管理

絕對裝入 邏輯位址 實體地址 靜態重定位裝入 動態執行時重定位裝入 1 靜態鏈結好的程式,修改部分模組後,需重新鏈結成可裝入程式。動態方式則便於修改和更新。2 便於實現共享。靜態的n個程式都需要乙個模組時,需要進行n次拷貝。系統區 僅提供給os使用,通常放在記憶體低址部分 使用者區 除系統區以外的全...

第4章 儲存器

半導體 磁性材料 光碟 隨機 唯讀 順序訪問 直接訪問 速度 容量 位價 虛擬儲存器 位址線 單向 資料線 雙向 晶元容量 控制線 讀寫控制線 片選線 解碼驅動方式 線選法 重合法 靜態ram 動態ram 基本單元電路 讀週期 讀時間 集中重新整理 分散重新整理 非同步重新整理 死時間 rom mo...