第4章 儲存器管理

2021-09-01 18:29:37 字數 2376 閱讀 6215

思維導圖:

儲存器管理:

1)重點是記憶體管理,對其有效的管理直接影響儲存器的利用率、系統效能。

1.儲存器資源的分配和**

2.位址變換(邏輯位址與實體地址的對應關係維護)

3.儲存共享和保護

4.虛擬儲存的排程演算法

2)外存的管理:磁碟儲存器管理、檔案系統等中涉及。

一、程式的裝入和鏈結

多道程式環境下,程式執行必須為之先建立程序。

建立程序的第一件事:將程式和資料裝入記憶體。

1)程式進記憶體的一般過程:

1.編譯compiler:編譯程式:將使用者源**編譯成若干個目標模組。

2.鏈結link:鏈結程式:將形成的一組目標模組,及它們需要的庫函式鏈結在一起,形成乙個完整的裝入模組。

3.裝入load:由裝入程式將裝入模組裝入記憶體,構造pcb,形成程序,開始執行(使用實體地址)。

2)位址的概念

1.邏輯位址(相對位址,虛位址)

使用者的程式經過彙編或編譯後形成目標**,目標**中的指令位址是相對位址。

2.實體地址(絕對位址,實位址)

記憶體中儲存單元的位址。

實體地址可直接定址被執行。

3.位址對映:

將使用者程式中的邏輯位址轉換為執行時由機器直接定址的記憶體實體地址的過程。

二、連續分配儲存管理方式

1)單一連續分配

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

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

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

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

2)固定分割槽分配

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

劃分為幾個分割槽,便只允許幾道作業併發

具體實現:

(1)如何劃分分割槽大小

1.分割槽大小相等

2.分割槽大小不等

(2)需要的資料結構

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

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

(3)分配**操作

1.分割槽表分為兩個**:空閒分割槽表/占用分割槽表

2.用檢索演算法

3)動態分割槽分配

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

2.空閒分割槽表項:從1項到n項:

3.具體實現:

(1)分割槽分配中的資料結構

1.1空閒分割槽表:

記錄每個空閒分割槽的情況。

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

1.2空閒分割槽鏈:

每個分割槽的起始部分,設定用於控制分割槽分配的資訊,及用於鏈結各分割槽的前向指標;

分割槽尾部則設定一后向指標,在分割槽末尾重複設定狀態位和分割槽大小表目方便檢索。

(2)分割槽分配演算法

首次適應演算法ff

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

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

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

迴圈首次適應演算法

2.1空閒分割槽排序:按位址

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

2.3分配:分出需要的大小

最佳適應演算法

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

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

3.3分配:分出需要的大小

最差適應演算法:基本不留下小空閒分割槽,但會出現缺乏較大的空閒分割槽的情況。

快速適應演算法

(3)分割槽分配操作

1.分配記憶體:找到滿足需要的合適分割槽,劃出程序需要的空間

2.**記憶體

4)動態重定位分割槽分配

1.位址變換過程是在程式執行過程期間(相對位址與重定位暫存器中的位址相加),隨著對每條指令的訪問自動進行,稱為動態重定位。

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

5)其他

(1)、記憶體空間管理之對換

1.當記憶體空間還是滿足不了需求時,引入「對換」

2.按對換單位分類:

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

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

第4章 儲存器管理

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

第4章 儲存器

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

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

為乙個使用者程式分配乙個連續的記憶體空間 1 單一連續分配 記憶體分為系統區和使用者區兩部分 系統區 僅提供給os使用,通常放在記憶體低址部分 使用者區 除系統區以外的全部記憶體空間,提供給使用者使用。最簡單的一種儲存管理方式,只能用於單使用者 單任務的作業系統中。優點 易於管理。缺點 對要求記憶體...