作業系統課堂筆記七

2021-09-01 12:29:07 字數 1744 閱讀 7287

連續分配方式

(1) 單一連續分配

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

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

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

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

 優點:易於管理。

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

(2) 固定分割槽分配

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

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

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

如何劃分分割槽大小:

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

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

需要的資料結構

 建立一記錄相關資訊的分割槽表(或分割槽鍊錶),表項有:

| 起始位置 | 大小 | 狀態 |

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

(3) 動態分割槽分配

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

(5) 空閒分割槽表項:從1項到n項:

記憶體會從初始的乙個大分割槽不斷被劃分、**從而形成記憶體中的多個分割槽。

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

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

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

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

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

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

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

分配:分出需要的大小

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

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

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

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

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

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

分配:分出需要的大小

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

最差適應演算法/最壞匹配法(worst-fit):基本不留下小空閒分割槽,但會出現缺乏較大的空閒分割槽的情況。

⑤快速適應演算法

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

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

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

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

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

 按對換單位分類:

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

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

作業系統課堂筆記(七)

系統區 僅提供給os使用,通常放在記憶體低址部分 使用者區 除系統區以外的全部記憶體空間,提供給使用者使用。把記憶體分為一些大小相等或不等的分割槽 partition 每個應用程序占用乙個分割槽。作業系統占用其中乙個分割槽。提高 支援多個程式併發執行,適用於多道程式系統和分時系統。最早的多道程式儲存...

作業系統課堂筆記七 交換技術

虛擬儲存 軟體相關策略 頁面置換演算法 其他相關技術參考 不能交換的程序 等待i o的程序 調頁方法 總結 頁目錄 頁表頁由於在記憶體中不連續存放,因此需要引入頁表頁的位址索引表,這樣的表叫做頁目錄 二級頁表位址轉化過程 反轉頁表 總結 快表很容易理解,就理解為乙個小型的redis就行。缺頁異常 分...

作業系統課堂筆記一

一 作業系統的功能 資源管理 協調管理計算機的軟硬體資源,提高其利用率 使用者角度 為使用者提供使用計算機的環境和服務 計算機四大資源 cpu 記憶體 外設 資訊檔案 二 作業系統的特徵 併發性 共享性 虛擬性 非同步性 三 作業系統的型別 四 程序的三種基本狀態 就緒狀態 執行狀態 阻塞狀態 程序...