1. 程式人生 > >作業系統 第四章 2 儲存器管理 連續分配方式

作業系統 第四章 2 儲存器管理 連續分配方式

1)單一連續分配:

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

2)固定分割槽分配:

把記憶體分為一些大小相等或不等的分割槽,每個應用程序佔用一個分割槽。作業系統佔用其中一個分割槽。(劃分為幾個分割槽,便只允許幾道作業併發

   建立一記錄相關資訊的分割槽表(或分割槽連結串列)記錄劃分的分割槽

     表項有: | 起始位置 | 大小 | 狀態 |

缺點:

內碎片(一個分割槽內的剩餘空間)造成浪費

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

3)動態分割槽分配:

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

缺點:

外碎片(分割槽間無法利用的空間)

分割槽分配演算法:

  • 首次適應演算法FF:以地址遞增的次序連結。 檢索:分配記憶體時,從鏈首開始順序查詢直至找到一個大小能滿足要求的空閒分割槽;
  • 迴圈首次適應演算法 :空閒分割槽排序:按地址 檢索:從上次找到的空閒分割槽的下一個空閒分割槽開始查詢,直到找到一個能滿足要求的空閒分割槽。
  • 最佳適應演算法 :所有空閒分割槽按容量從小到大排序成空閒分割槽表或鏈。 檢索:從表或鏈的頭開始,找到的第一個滿足的就分配
  • 最差適應演算法 :基本不留下小空閒分割槽,但會出現缺乏較大的空閒分割槽的情況。
  • 快速適應演算法 (夥伴演算法):
    根據程序常用空間大小進行劃分,相同大小的串成一個鏈,需管理多個各種不同大小的分割槽的連結串列。程序需要時,從最接近大小需求的鏈中摘一個分割槽

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

有緊湊功能的動態分割槽分配

5)記憶體空間管理之對換

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

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

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

外存上

儲存內容

駐留時間

主要目標

分配方式

檔案區

檔案

較長久

不頻繁

提高檔案儲存空間的利用率

離散

對換區

從記憶體換出的程序

短暫

頻繁

提高程序換入和換出的速度

連續