最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

一文講解存儲(chǔ)器的分區(qū)內(nèi)存管理與分區(qū)存儲(chǔ)管理

2022-08-30 14:44 作者:補(bǔ)給站Linux內(nèi)核  | 我要投稿

分區(qū)內(nèi)存管理

單一區(qū)存儲(chǔ)管理

定義:用戶區(qū)不分區(qū),完全被一個(gè)程序占用。

優(yōu)點(diǎn):簡單,不需要復(fù)雜的硬件支持

缺點(diǎn):內(nèi)存浪費(fèi),利用率低

分區(qū)存儲(chǔ)管理

定義:把用戶區(qū)劃分為若干大小不等的分區(qū),共不同程序使用。適用單用戶單任務(wù)系統(tǒng)。

①固定分區(qū)

把內(nèi)存固定地劃分為若干個(gè)大小不等的分區(qū)供各個(gè)程序使用,每個(gè)分區(qū)的大小和位置都固定,系統(tǒng)運(yùn)行期間不再重新劃分。

分區(qū)表:為了方便內(nèi)存分配,通常將分區(qū)按大小排好序,并建議一張對(duì)應(yīng)的分區(qū)表,該表包括每個(gè)分區(qū)的起始地址,大小及狀態(tài)。當(dāng)用戶程序裝入內(nèi)存的時(shí)候,依據(jù)用戶程序大小檢索分區(qū)表,從中找出一個(gè)滿足要求的、尚未分配的分區(qū),將之分配給該程序,并將表中該分區(qū)的狀態(tài)改為已分配,若未找到大小滿足的分區(qū),則拒絕分配。




使用特點(diǎn):在程序裝入前,內(nèi)存已被分區(qū),不再改變。每個(gè)分區(qū)大小不同,適應(yīng)大小不同的程序,系統(tǒng)要維護(hù)分區(qū)表,適應(yīng)具有固定任務(wù)數(shù)的多道程序系統(tǒng)。

缺點(diǎn):浪費(fèi)內(nèi)存,程序比所在分區(qū)??;另外大程序可能無法運(yùn)行。

建議:根據(jù)分區(qū)表安排程序裝入順序,使每個(gè)程序都能找到合適的分區(qū)運(yùn)行。

在通用操作系統(tǒng)中,程序的數(shù)量大小都是不確定的,顯然固定分區(qū)不太適合

②動(dòng)態(tài)分區(qū)

定義:在程序裝入的時(shí)候創(chuàng)建分區(qū),使分區(qū)大小與程序的大小相等。

特點(diǎn):分區(qū)動(dòng)態(tài)建立。會(huì)產(chǎn)生內(nèi)存碎片。

需要解決的問題:分區(qū)的分配?分區(qū)的選擇?分區(qū)的回收?解決內(nèi)存碎片問題?

分區(qū)的分配

空閑區(qū)表:描述內(nèi)存空閑區(qū)的位置和大小的數(shù)據(jù)結(jié)構(gòu)



【文章福利】小編推薦自己的Linux內(nèi)核技術(shù)交流群:【891587639】整理了一些個(gè)人覺得比較好的學(xué)習(xí)書籍、視頻資料共享在群文件里面,有需要的可以自行添加哦!?。。ê曨l教程、電子書、實(shí)戰(zhàn)項(xiàng)目及代碼)? ?



分配過程(假定用戶要求的空間是s)

(1)從空閑區(qū)表的第一個(gè)區(qū)開始,尋找大于等于s的空閑區(qū)

(2)找到后從分區(qū)分割出大小為s的部分給用戶使用

(2)分割后的剩余部分作為空閑區(qū)仍登記在空閑區(qū)表中

注意:分割空閑區(qū)時(shí)一般從底部分割,這樣基址不變,容易更新

空閑區(qū)表如何排序——放置策略(空閑區(qū)表排序原則)

(1)按空閑區(qū)位置(首址)遞增排序:首次適應(yīng)算法

(2)按空閑區(qū)位置(首址)遞減排序:沒有用

(3)按分區(qū)大小遞增排序:最佳適應(yīng)算法

(4)按分區(qū)大小遞減排序:最壞適應(yīng)算法

分區(qū)的回收

功能:回收程序釋放分區(qū)(釋放區(qū)),登記到空閑區(qū)表中,以便再分配。

回收算法:要考慮釋放區(qū)與現(xiàn)有空閑區(qū)是否相鄰?若相鄰,則合并后更新表,若不相鄰,直接插入表中。

內(nèi)存覆蓋技術(shù) (覆蓋overlay)(物理內(nèi)存管理范疇)

目的:在較小的內(nèi)存空間中運(yùn)行較大的程序。

內(nèi)存分區(qū):

①常駐區(qū):被某段單獨(dú)且固定地占用,可劃分多個(gè)

②覆蓋區(qū):能被多段共用(覆蓋),可劃分多個(gè)




缺點(diǎn):編程復(fù)雜,程序員劃分程序模塊并確定覆蓋關(guān)系;程序執(zhí)行時(shí)間長,從外存裝入到內(nèi)存很耗時(shí)。

內(nèi)存交換技術(shù)(Swapping)(物理內(nèi)存管理范疇)

原理:內(nèi)存不夠時(shí)把進(jìn)程寫道磁盤(換出/Swap out),當(dāng)進(jìn)程要運(yùn)行時(shí)重新寫回內(nèi)存(換入/Swap 嘔吐)

優(yōu)點(diǎn):增加進(jìn)程并發(fā)數(shù),不考慮程序結(jié)構(gòu)

缺點(diǎn):換入和換出增加CPU開銷,交換單元太大(整個(gè)進(jìn)程)

需要考慮的問題:減少交換傳送的信息量(模塊/段);

①外存交換空間的管理方法;

②程序換入時(shí)的地址重定位。

③換出換入的地址重定位:

放到什么位置?

①原來位置(容易引起地址沖突)

②任一空的位置(地址要重定位)

內(nèi)存碎片




動(dòng)態(tài)分區(qū)的缺點(diǎn):容易產(chǎn)生內(nèi)碎片。

碎片問題的解決方法:

①規(guī)定門限值

分割空閑區(qū)時(shí),若剩余部分小于門限值,則此空閑區(qū)不進(jìn)行分割,而是全部分配給用戶。

②內(nèi)存拼接技術(shù)

將所有空閑區(qū)集中構(gòu)成一個(gè)大的空閑區(qū)。

拼接的時(shí)機(jī):

釋放區(qū)回收的時(shí)候(拼接頻率過大,系統(tǒng)開銷大);

系統(tǒng)找不到足夠大的空閑區(qū)的時(shí)候(空閑區(qū)管理復(fù)雜);

定期(空閑區(qū)管理復(fù)雜)

缺點(diǎn):消耗系統(tǒng)資源;離線拼接(系統(tǒng)需要暫停下來進(jìn)行整理);重新定義作業(yè)。

③解除程序占用連續(xù)內(nèi)存才能運(yùn)行的限制(分頁和分段就是借鑒了這種思想)

把程序分拆為多個(gè)部分裝入到不同分區(qū),充分利用碎片





一文講解存儲(chǔ)器的分區(qū)內(nèi)存管理與分區(qū)存儲(chǔ)管理的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
甘南县| 义马市| 岑溪市| 西和县| 胶南市| 新郑市| 隆子县| 镇赉县| 伊通| 礼泉县| 靖宇县| 乐陵市| 县级市| 枣强县| 宁海县| 嘉鱼县| 合山市| 资源县| 彭州市| 重庆市| 碌曲县| 乌苏市| 东乡| 体育| 青铜峡市| 大港区| 峨山| 洛南县| 美姑县| 吉首市| 登封市| 凤凰县| 罗甸县| 长葛市| 灌云县| 泗洪县| 凤阳县| 中西区| 遂溪县| 靖江市| 镇宁|