連續分配儲存管理方式

2021-09-26 12:31:15 字數 2367 閱讀 8380

連續分配:為

乙個使用者程式分配一段

連續的記憶體空間

。包括:單一連續分配、固定分割槽分配、動態分割槽分配以及動態重定位分配

離散分配:分頁儲存、分段儲存

記憶體分為系統區、使用者區和空閒區三部分,系統區僅提供給

os使用;使用者區記憶體中,僅裝有一道使用者程式。

系統區使用者區空閒區

劃分分割槽的方法:

(1)

分割槽大小相等

(指所有的記憶體分割槽大小相等)。

(2)

分割槽大小不等。

1. 動態分割槽分配中的資料結構  

常用的資料結構有以下兩種形式:① 空閒分割槽表,在系統中設定一張空閒分割槽表,用於記錄每個空閒分割槽的情況。

② 空閒分割槽鏈。在每個分割槽的起始部分設定一些用於控制分割槽分配的資訊,以及用於鏈結各分割槽所用的前向指標,在分割槽尾部則設定一后向指標。通過前、後向鏈結指標,可將所有的空閒分割槽鏈結成乙個雙向鏈。

使用者程式要裝入

執行時,

根據請求

查詢分割槽說明表

,從中找出乙個滿足要求的空閒分割槽

,分配。

程序執行完畢,管理程式將對應的分割槽狀態設定為未使用即可。

系統預先設定閾值

size,

並利用某種分配演算法,從空閒分割槽鏈(表)中找到所需大小的分割槽。設請求分割槽大小為 u.size,空閒分割槽的大小為 m.size。若 m.size-u.size≤size,將整個分割槽分配給請求者;否則,從按請求大小劃分出一塊記憶體空間分配,餘下的部分仍留在空閒分割槽鏈(表)中。並將分配區的首址返回。

當程序執行完畢釋放記憶體時,系統根據**區的首址,從空閒區鏈(表

)中找到相應的插入點,此時可能出現以下四種情況之一:

分配記憶體時,從鏈首開始順序查詢,直至找到乙個大小能滿足要求的空閒分割槽為止,分配給請求者,餘下的空閒分割槽仍留在空閒鏈中。

基於首次適應演算法,但不再是每次都從鏈首開始查詢,而是從上次找到的空閒分割槽的下乙個空閒分割槽開始查詢,直至找到乙個能滿足要求的空閒分割槽。

將所有的空閒分割槽按其容量以從小到大的順序形成一空閒分割槽鏈,每次為作業分配記憶體時,總是把能滿足要求、又是最小的空閒分割槽分配給作業。

空閒區按其大小遞減的順序組成空閒分割槽表或空閒分割槽鏈,

掃瞄整個空閒分割槽表或鍊錶時,總是挑選乙個最大的空閒區,從中分割一部分儲存空間給作業使用。

將空閒分割槽根據其容量大小進行分類,對於每一類具有相同容量的所有空閒分割槽設立乙個空閒分割槽鍊錶,用一張管理索引表記錄該型別空閒分割槽煉表表頭的指標等資訊。

夥伴系統規定,不論是已分配的分割槽還是未分配的空閒分割槽,其在記憶體中的大小均置為2的k次方,其中k為正整數,

l≤k≤m。也就是說最小的分割槽為

2,最大的分割槽可設定為2的m次方,2的m次方為整個可分配記憶體的大小。

將記憶體中的所有作業進行移動,從而將原來分散的多個空閒分割槽移到同一端拼接成乙個大的空閒分割槽,以裝入使用者的作業。這種技術被稱為「拼接」或「緊湊」。

採用執行

時裝入的方式,在系統中增設乙個重定位暫存器,用來存放程式(資料

)在記憶體中的起始位址。程式在執行時,真正的位址是相對位址與暫存器中的位址相加而成

動態重定位分割槽分配演算法與動態分割槽分配演算法基本上相同,差別僅在於:在這種分配演算法中,增加了緊湊的功能。

連續分配儲存管理方式

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

連續分配管理方式

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

作業系統 連續分配儲存管理方式

目錄概述 一 單一連續分配 1.應用背景 2.基本思想 3,實現 4,特點 二 固定分割槽分配 1.應用背景 2.基本思想 3,實現 4,特點 三 動態分割槽分配 1.應用背景 2.基本思想 3,實現 資料結構 分配演算法 4,特點 四 動態可重定位分割槽分配 1.應用背景 2.基本思想 3,實現 ...