作業系統 第四章 2 儲存器管理 連續分配方式
阿新 • • 發佈:2018-11-25
1)單一連續分配:
記憶體分為系統區和使用者區兩部分
2)固定分割槽分配:
把記憶體分為一些大小相等或不等的分割槽,每個應用程序佔用一個分割槽。作業系統佔用其中一個分割槽。(劃分為幾個分割槽,便只允許幾道作業併發)
建立一記錄相關資訊的分割槽表(或分割槽連結串列)記錄劃分的分割槽
表項有: | 起始位置 | 大小 | 狀態 |
缺點:
內碎片(一個分割槽內的剩餘空間)造成浪費
分割槽總數固定,限制併發執行的程式數目
3)動態分割槽分配:
分割槽的大小不固定:在裝入程式時根據程序實際需要,動態分配記憶體空間,即——需要多少劃分多少。
缺點:
有外碎片(分割槽間無法利用的空間)
分割槽分配演算法:
- 首次適應演算法FF:以地址遞增的次序連結。 檢索:分配記憶體時,從鏈首開始順序查詢直至找到一個大小能滿足要求的空閒分割槽;
- 迴圈首次適應演算法 :空閒分割槽排序:按地址 檢索:從上次找到的空閒分割槽的下一個空閒分割槽開始查詢,直到找到一個能滿足要求的空閒分割槽。
- 最佳適應演算法 :所有空閒分割槽按容量從小到大排序成空閒分割槽表或鏈。 檢索:從表或鏈的頭開始,找到的第一個滿足的就分配
- 最差適應演算法 :基本不留下小空閒分割槽,但會出現缺乏較大的空閒分割槽的情況。
- 快速適應演算法 (夥伴演算法):
根據程序常用空間大小進行劃分,相同大小的串成一個鏈,需管理多個各種不同大小的分割槽的連結串列。程序需要時,從最接近大小需求的鏈中摘一個分割槽
4)動態重定位分割槽分配 :
有緊湊功能的動態分割槽分配
5)記憶體空間管理之對換
把記憶體中暫時不能執行、或暫時不用的程式和資料調到外存上,以騰出足夠的記憶體;把已具備執行條件的程序和程序所需要的程式和資料,調入記憶體。
按對換單位分類: 整體對換(或程序對換):以整個程序為單位(連續分配)
頁面對換或分段對換:以頁或段為單位(離散分配)
外存上 |
儲存內容 |
駐留時間 |
主要目標 |
分配方式 |
檔案區 |
檔案 |
較長久 不頻繁 |
提高檔案儲存空間的利用率 |
離散 |
對換區 |
從記憶體換出的程序 |
短暫 頻繁 |
提高程序換入和換出的速度 |
連續 |