跳轉至

連續存儲管理

連續儲存管理指的是將主記憶體中的使用者區域作為一個連續區域或多個連續區域進行管理。其主要方式包括單一連續分配、固定分區分配及可變分區分配等。

單一連續儲存管理

  • 基本概念:單一連續儲存管理是一種最簡單的儲存管理方式。作業系統佔用一部分主存空間,剩餘部分作為一個連續分區分配給一個作業使用,因此在任何時刻主記憶體中最多只有一個作業。
  • 優點:此方式不需要考慮作業在主記憶體中的移動問題,通常使用靜態重定位方式進行位址轉換,確保儲存保護。
  • 缺點
  • CPU 使用率低:當作業等待時,CPU 處於空閒狀態。
  • 記憶體使用率低:無論作業大小,主存空間都只能給一個作業分配。
  • 外圍設備利用率低。

固定分割區儲存管理

  • 分配與回收:系統透過「主記憶體分配表」來管理各分割區的分配狀況,並採用順序分配演算法來分配主記憶體空間。當作業完成後,歸還所佔用的分區。
  • 位址轉換與儲存保護:採用靜態重定位裝入方式,將作業的邏輯位址與分區的下限位址相加,得到實體位址。實體位址需要在分區的上下限範圍內,否則觸發「位址越界」中斷。
  • 主記憶體利用率:固定分區管理方式會導致一定的記憶體浪費(「碎片」),可以透過以下方法提高空間利用率:
  • 按作業大小和頻率劃分分區。
  • 分區依大小順序排列。
  • 依作業需求將作業分成多個佇列。

可變分割區儲存管理

  • 基本概念:系統透過空閒分割區表管理主記憶體空間,作業裝入時從空閒分割區中分配一個適合大小的空閒分割區。
  • 分配演算法
  • 最先適應分配演算法:順序查找空閒分割區表,選擇第一個符合作業要求的空閒分割區。
  • 最優適應分配演算法:選擇最小的空閒分割區進行分配,以保留較大的空閒空間。
  • 最壞適應分配演算法:選擇最大的空閒分區進行分配,以避免留下過小的空閒空間。
  • 回收與合併:作業完成後,其所佔用的分區被回收,回收時會檢查是否有相鄰空閒分區,如果有,則合併成一個較大的空閒分區。
  • 位址轉換與儲存保護:採用動態重定位裝入方式,透過基址暫存器與限長暫存器來實現位址轉換與儲存保護。如果邏輯位址超出分區範圍,系統會觸發「位址越界」中斷。

覆蓋與交換技術

  • 覆蓋技術:程式被劃分為多個功能模組,只有必要的模組常駐主存,不常用的模組儲存在外存中,並根據需要載入到主記憶體。此技術可解決小主記憶體運行大作業的問題,但增加了程式設計複雜度。

  • 交換技術:將暫時無法運作的程序或不使用的程式和資料從主記憶體交換到外存,騰出空間來載入新的程序或程式。交換過程由作業系統管理,對程式設計師透明。交換常用在進程之間,而覆蓋則在同一進程內進行。