記憶體管理中的連續分配管理方式的詳細解釋

2021-10-04 03:57:33 字數 1576 閱讀 7596

連續分配方式是指為乙個使用者程式分配乙個連續的記憶體空間,連續分配方式有單一連續分配,固定分割槽分配和動態分割槽分配。

一:單一連續分配

內存在此方式下分為系統區和使用者區,系統區僅供作業系統使用,通常在低位址部分;使用者區是為使用者提供的,除系統區以外的記憶體區域,這種方式無須進行記憶體保護,因為記憶體中只存在一道使用者程式,(在任何時間,使用者區域中最多只有乙個任務),不會因為訪問越界而干擾其它程式。

這種方式的優點是沒有外部碎片,分配方式簡單,可以採用覆蓋技術,不需要其它的技術支援。缺點是只能用於單使用者,單任務的作業系統中,有內部碎片,記憶體的利用率低,靈活性低(要求程式的儲存空間小於等於記憶體可用空間,否則不能使用覆蓋技術),周轉時間長(必須等記憶體中的作業執行完畢,下乙個任務才能進入記憶體並執行)。

二:固定分割槽分配

固定分割槽分配是最簡單的一種多道程式儲存管理方式,它將使用者記憶體空間分成若干大小固定的區域。每個分割槽只放入一道作業,當有空閒分割槽時,便可再從當前佇列中選出乙個作業進入。

固定分割槽分配可分為若干大小相同的記憶體區域和若干大小不等的記憶體區域,如下圖

(1)大小相同                         (2)大小不同

作業系統記憶體

6mb6mb

6mb6mb

6mb6mb

6mb作業系統記憶體

2mb4mb

5mb6mb

15mb

4mb6mb

為便於記憶體分配,通常將記憶體分割槽按大小排列,並為之建立一張表,該表中的各表項包含記憶體分割槽的始址,分割槽長度,分配狀態,當有使用者程式要裝入時,便檢查該錶尋找合適的分割槽便檢查該分割槽的狀態,如果分配狀態為未分配,則分配該分割槽;否則,拒絕分配。如下圖:

這種分割槽存在兩個問題

(1)程式可能太大而裝不進任何乙個內粗糙你分割槽,而不得不使用覆蓋技術來使用記憶體空間。

(2)當程式小於任何乙個記憶體分割槽時,也占用乙個完整的記憶體分割槽,會造成記憶體空間浪費,這種現象稱作內部碎片。

固定分割槽是可用於多道程式設計的最簡單的分配儲存,無外部碎片,但是死不能實現多個程序共享乙個記憶體區,所以儲存效率低,不被現在的作業系統所通用。但是在某些作業系統控制多個相同物件時發揮重要作用。

三:動態分割槽分配

動態分割槽分配又稱可變分割槽分配,是一種動態劃分記憶體的分割槽方法,它並不預先的分配好記憶體空間,而是在程式裝入時,根據程式的大小為其分配正好合適的記憶體空間來滿足程式的需要,因此,系統分割槽的大小和數目是可變的。

如下圖所示,系統有64mb記憶體空間,作業系統佔了6mb,其餘為使用者可分配空間,到最後剩下了4mb的外部碎片

動態分割槽在開始分配是很好的,但隨著為程序不斷的分配和釋放記憶體空間,會產生越來越多的記憶體碎片,記憶體的利用率隨之降低,這些小的記憶體塊被稱之為外部碎片,這些外部碎片可以通過緊湊技術來解決,即作業系統通過不斷地對程序進行移動和整,但是這種操作需要動態重定位暫存器的支援,且相對比較費時,緊湊的過程實際上類似於windows系統中的磁碟整理程式。

連續分配管理方式

連續分配管理方式屬於記憶體空間的分配和 的內容 連續分配 指為使用者程序分配的必須是乙個連續的記憶體空間.1.單一連續分配 1 只支援單道程式,記憶體分為系統區和使用者區,使用者程式放在使用者區 2 無外部碎片,有內部碎片 在單一連續分配方式中,記憶體被分為系統區和使用者區。系統區通常位於記憶體的低...

記憶體分配管理方式一 連續分配管理方式

內存在此方式下分為系統區和使用者區,系統區僅提供給作業系統使用,通常在低位址部分 使用者區是為使用者提供 除系統區之外的記憶體空間。這種方式無需進行記憶體保護。因為記憶體中永遠只有一道程式,肯定不會因為訪問越界而干擾其他程式。簡單 無外部碎片 可以使用覆蓋技術,不需要額外技術的支援 只能用於單使用者...

連續分配儲存管理方式

一 單一連續分配 最簡單的一種儲存管理方式,只能用於單使用者 單任務的作業系統中。優點 易於管理。缺點 對要求記憶體空間少的程式,造成記憶體浪費 程式全部裝入,很少使用的程式部分也占用記憶體。二 固定分割槽分配 把記憶體分為一些大小相等或不等的分割槽 partition 每個應用程序占用乙個分割槽。...