連續分配儲存管理方式

2021-09-02 21:23:27 字數 2167 閱讀 3284

一、單一連續分配

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

優點:易於管理。

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

二、固定分割槽分配

把記憶體分為一些大小相等或不等的分割槽(partition),每個應用程序占用乙個分割槽。作業系統占用其中乙個分割槽。支援多個程式併發執行,適用於多道程式系統和分時系統。最早的多道程式儲存管理方式。

缺點:內碎片(乙個分區內的剩餘空間)造成浪費;劃分為幾個分割槽,便只允許幾道作業併發,分割槽總數固定,限制併發執行的程式數目。

三、動態分割槽分配

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

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

3、優點:併發程序數沒有固定數的限制,不產生內碎片。缺點:有外碎片(分區間無法利用的空間)

4、分割槽分配演算法

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

空閒分割槽排序:以位址遞增的次序鏈結。

檢索:分配記憶體時,從鏈首開始順序查詢直至找到乙個大小能滿足要求的空閒分割槽;

分配:從該分割槽中劃出一塊作業要求大小的記憶體空間分配給請求者,餘下的空閒分割槽大小改變仍留在空閒鏈中。

若從頭到尾檢索不到滿足要求的分割槽則分配失敗

優點:優先利用記憶體低址部分,保留了高位址部分的大空閒區;

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

②迴圈首次適應演算法

空閒分割槽排序:按位址

檢索:從上次找到的空閒分割槽的下乙個空閒分割槽開始查詢,直到找到乙個能滿足要求的空閒分割槽。為實現演算法,需要設定乙個起始查尋指標並採用迴圈查詢方式

分配:分出需要的大小

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

缺點:缺乏大的空閒分割槽

③最佳適應演算法

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

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

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

分配:分出需要的大小

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

④最差適應演算法/最壞匹配法

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

⑤快速適應演算法

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

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

5、**分割槽

(1)**區(首址a)與乙個分割槽f1末尾(首址b+大小)鄰接:將**區與f1合併,修改f1的表項的分割槽大小

(2)**區(首址a+大小)與乙個分割槽f2的首址b鄰接:將**區與f2合併,修改f2的表項的首址、分割槽大小

(3) (1)(2)兩種情況都有,則將**區與前後兩個分割槽f1、f2鄰接:將三個分割槽合併,使用f1的表項和f1的首址,取消f2的表項,大小為三者之和

(4) **區沒有鄰接的分割槽:為**區單獨建立新表項,填寫**區的首址與大小,根據其首址插到空閒鏈中的適當位置

四、動態重定位分割槽分配——有緊湊功能的動態分割槽分配

動態重定位分割槽分配演算法與動態分割槽分配演算法基本相同,差別在於增加了緊湊的功能。

夥伴系統

分割槽大小有規定,且分割槽動態變化

1、無論已分配還是空閒分割槽,大小都為2的k此冪。若整個可分配空間大小為2m,則1≤k≤m.

2、隨著系統執行,記憶體被不斷劃分,形成若干不連續的空閒分割槽。對每一類具有相同大小的空閒分割槽設定一雙向鍊錶,即會有k個鍊錶,鍊錶中的分割槽大小都是2m。

3、程序申請n個大小的空間時,計算n= 2i。則找i對應的鍊錶。若i大小的鍊錶沒有,則找i+1的鍊錶。找到的分割槽對半劃分後,一半用於分配,一半鏈結到較小一級的煉表裡去。

4、一次分配和**都可能對應多次的劃分和合併。

五、記憶體空間管理之對換

當記憶體空間還是滿足不了需求時,把記憶體中暫時不能執行、或暫時不用的程式和資料調到外存上,以騰出足夠的記憶體;把已具備執行條件的程序和程序所需要的程式和資料,調入記憶體。

整體對換(或程序對換):以整個程序為單位(連續分配)

頁面對換或分段對換:以頁或段為單位(離散分配)

連續分配儲存管理方式

連續分配 為 乙個使用者程式分配一段 連續的記憶體空間 包括 單一連續分配 固定分割槽分配 動態分割槽分配以及動態重定位分配。離散分配 分頁儲存 分段儲存。記憶體分為系統區 使用者區和空閒區三部分,系統區僅提供給 os使用 使用者區記憶體中,僅裝有一道使用者程式。系統區使用者區空閒區 劃分分割槽的方...

連續分配管理方式

連續分配管理方式屬於記憶體空間的分配和 的內容 連續分配 指為使用者程序分配的必須是乙個連續的記憶體空間.1.單一連續分配 1 只支援單道程式,記憶體分為系統區和使用者區,使用者程式放在使用者區 2 無外部碎片,有內部碎片 在單一連續分配方式中,記憶體被分為系統區和使用者區。系統區通常位於記憶體的低...

作業系統 連續分配儲存管理方式

目錄概述 一 單一連續分配 1.應用背景 2.基本思想 3,實現 4,特點 二 固定分割槽分配 1.應用背景 2.基本思想 3,實現 4,特點 三 動態分割槽分配 1.應用背景 2.基本思想 3,實現 資料結構 分配演算法 4,特點 四 動態可重定位分割槽分配 1.應用背景 2.基本思想 3,實現 ...