當前位置:首頁 » 服務存儲 » 動態分區分配存儲管理的作用
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

動態分區分配存儲管理的作用

發布時間: 2023-06-08 23:40:33

㈠ 連續分配存儲管理方式

一、單一連續分配

最簡單的一種存儲管理方式,只能用於單用戶、單任務的操作系統中。

優點:易於管理。

缺點:對要求內存空間少的程序,造成內存浪費;程序全部裝入,很少使用的程序部分也佔用內存。

二、固定分區分配

把內存分為一些大小相等或不等的分區(partition),每個應用進程佔用一個分區。操作系統佔用其中一個分區。支持多個程序並發執行,適用於多道程序系統和分時系統。最早的多道程序存儲管理方式。

缺點:內碎片(一個分區內的剩餘空間)造成浪費;劃分為幾個分區,便只允許幾道作業並發,分區總數固定,限制並發執行的程序數目。

三、動態分區分配

1、分區的大小不固定:在裝入程序時根據進程實際需要,動態分配內存空間,即——需要多少劃分多少。

2、空閑分區表項:從1項到n項:內存會從初始的一個大分區不斷被劃分、回收從而形成內存中的多個分區。

3、優點:並發進程數沒有固定數的限制,不產生內碎片。缺點:有外碎片(分區間無法利用的空間)

4、分區分配演算法

①首次適應演算法FF(first-fit)

空閑分區排序:以地址遞增的次序鏈接。

檢索:分配內存時,從鏈首開始順序查找直至找到一個大小能滿足要求的空閑分區;

分配:從該分區中劃出一塊作業要求大小的內存空間分配給請求者,餘下的空閑分區大小改變仍留在空閑鏈中。

若從頭到尾檢索不到滿足要求的分區則分配失敗

優點:優先利用內存低址部分,保留了高地址部分的大空閑區;

缺點:但低址部分不斷劃分,會產生較多小碎片;而且每次查找從低址部分開始,會逐漸增加查找開銷。

②循環首次適應演算法

空閑分區排序:按地址

檢索:從上次找到的空閑分區的下一個空閑分區開始查找,直到找到一個能滿足要求的空閑分區。為實現演算法,需要設置一個起始查尋指針並採用循環查找方式

分配:分出需要的大小

優點:空閑分區分布均勻,減少查找開銷

缺點:缺乏大的空閑分區

③最佳適應演算法

總是把能滿足要求、又是最小的空閑分區分配給作業,避免「大材小用」。

空閑分區排序:所有空閑分區按容量從小到大排序成空閑分區表或鏈。

檢索:從表或鏈的頭開始,找到的第一個滿足的就分配

分配:分出需要的大小

缺點:每次找到最合適大小的分區割下的空閑區也總是最小,會產生許多難以利用的小空閑區(外碎片)

④最差適應演算法/最壞匹配法

基本不留下小空閑分區,但會出現缺乏較大的空閑分區的情況。

⑤快速適應演算法

根據進程常用空間大小進行劃分,相同大小的串成一個鏈,需管理多個各種不同大小的分區的鏈表。進程需要時,從最接近大小需求的鏈中摘一個分區。

能快速找到合適分區,但鏈表信息會很多;實際上是空間換時間。

5、回收分區

(1)回收區(首址a)與一個分區f1末尾(首址b+大小)鄰接:將回收區與f1合並,修改f1的表項的分區大小

(2)回收區(首址a+大小)與一個分區f2的首址b鄰接:將回收區與f2合並,修改f2的表項的首址、分區大小

(3) (1)(2)兩種情況都有,則將回收區與前後兩個分區F1、F2鄰接:將三個分區合並,使用F1的表項和F1的首址,取消F2的表項,大小為三者之和

(4) 回收區沒有鄰接的分區:為回收區單獨建立新表項,填寫回收區的首址與大小,根據其首址插到空閑鏈中的適當位置

四、動態重定位分區分配——有緊湊功能的動態分區分配

動態重定位分區分配演算法與動態分區分配演算法基本相同,差別在於增加了緊湊的功能。

夥伴系統

分區大小有規定,且分區動態變化

1、無論已分配還是空閑分區,大小都為2的k此冪。若整個可分配空間大小為2m,則1≤k≤m.

2、隨著系統運行,內存被不斷劃分,形成若干不連續的空閑分區。對每一類具有相同大小的空閑分區設置一雙向鏈表,即會有k個鏈表,鏈表中的分區大小都是2m。

3、進程申請n個大小的空間時,計算n= 2i。則找i對應的鏈表。若i大小的鏈表沒有,則找i+1的鏈表。找到的分區對半劃分後,一半用於分配,一半鏈接到較小一級的鏈表裡去。

4、一次分配和回收都可能對應多次的劃分和合並。

五、內存空間管理之對換

當內存空間還是滿足不了需求時,把內存中暫時不能運行、或暫時不用的程序和數據調到外存上,以騰出足夠的內存;把已具備運行條件的進程和進程所需要的程序和數據,調入內存。

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

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

㈡ 動態分區的思想是什麼如何實現其內存保護

可變分區存儲管理不是預先把內存中的用戶區域劃分成若干固定
分區,而是在作業要求裝入內存時,根據用戶作業的大小和當時內存空間使用情況決定是否為該作業分配一個分區。因此分區大小不是預先固定的,而是按作業需求量來劃分的;分區的個數和位置也不是預先確定的。它有效地克服了固定分區方式中,由於分區內部剩餘內存空置造成浪費的問題。

㈢ 內存的連續分配有哪些方式,各有什麼特點

內存的連續分配方式有:單一連續分配、固定分區分配、動態分區分配以及動態重定位分區分配四種方式。
單一連續分配:只能用於單用戶、單任務的操作系統中。
固定分區分配:可運行多道程序的存儲管理方式答絕。
動態分區分配:根據戚舉蠢進程的實際需要,動態地為之分配內存空間。
可重定位分區分配:必須把一高陪個系統或用戶程序裝入一連續的內存空間。

㈣ 簡述操作系統的內存管理方法中,固定分區法和動態分區法的相同點和不同點

單一連續分配
內存在此方式下分為系統區和用戶區,系統區僅提供給操作系統使用,通常在低地址部分;用戶區是為用戶提供的、除系統區之外的內存空間。這種方式無需進行內存保護。

這種方式的優點是簡單、無外部碎片,可以釆用覆蓋技術,不需要額外的技術支持。缺點是只能用於單用戶、單任務的操作系統中,有內部碎片,存儲器的利用率極低。
固定分區分配
固定分區分配是最簡單的一種多道程序存儲管理方式,它將用戶內存空間劃分為若干個固定大小的區域,每個分區只裝入一道作業。當有空閑分區時,便可以再從外存的後備作業隊列中,選擇適當大小的作業裝入該分區,如此循環。

㈤ 存儲器管理的幾種動態分區分配演算法有什麼特點優缺點都是什麼

動態分區分配演算法:
1.首次適應演算法(FF/first fit)
2.循環首次適應演算法(next fit)
3.最佳適應演算法(best fit)
從最小的分區開始分配
4.最壞適應演算法(worst fit)
從最大的分區開始分配
5.快速適應演算法/分類搜索法(quick fit)
將空閑分區根據其容量的大小進行分類

㈥ 動態分區和分段式內存管理有什麼區別

動態分區是按需分配,開始時內存能充分利用,但當不停有進程被換入、換出時會形成很多進程間的內存碎塊,稱為外部碎片。

分段是將進程劃分成若干個段,但段的長度不必相等,一個進程可以有程序段、數據段和堆棧段,這些段在內存中的地址可以不連續,分段有點類似於動態分區。分段消除了主存的內部碎片,但會產生外部碎片。

㈦ 電腦,主分區和動態分區有什麼區別。

1.地位不同

邏輯分區屬於擴展分區,擴展分區屬於主分區。

給新硬碟上建立分區時都要遵循以下的順序:建立主分區→建立擴展分區→建立邏輯分區→激活主分區→格式化所有分區。

2.位置不同

主分區又叫做引導分區,最多隻能創建四個。

擴展分區是主分區之外的部分。

邏輯分區在擴展分區之內可以創建無數個。



3.作用不同

主分區是獨立的,對應磁碟上的第一個分區,「一般」就是C盤。

擴展分區是一個概念,實際上是看不到的。

邏輯分區相當於一塊存儲截止,和操作系統還有別的邏輯分區、主分區沒有什麼關系,是「獨立的」。

4.格式化情況不同

格式化是針對主分區和邏輯分區的。要格式化是因為這和操作系統管理文件系統有關系。沒有格式化的分區就像一張白紙,要寫入數據,必須對白紙打上「格子」,每個格子裡面寫一塊。而操作系統只認這些格子。

5.大小不同

我們假定擴展分區為字母X,用一個公式來總結它們之間的關系:

硬碟的容量=主分區的容量+擴展分區的容量(硬碟=C盤+X)

擴展分區的容量=各個邏輯分區的容量之和(X=D盤+E盤+F盤)

㈧ 操作系統中的分區存儲管理和分頁存儲管理的優點和缺點各是什麼

一、分區存儲管理

1、固定分區:

優點:易於實現、開銷小

缺點:存在內部碎片(分區內未被利用空間)、分區總數固定,限制了並發執行的程序數量。

2、動態創建分區:按照程序申請要求分配。

優點: 沒有內部碎片

缺點:有外部碎片(難以利用的小空閑分區)

二、頁式存儲管理

優點: 沒有外部碎片,最後一頁可能有內碎片但不大; 程序不必連續存放;便於改變程序佔用空間大小。

缺點: 程序仍需要全部裝入內存。