偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

論操作系統(tǒng)的內(nèi)存分配方式

存儲(chǔ) 存儲(chǔ)軟件
在多道程序當(dāng)中,如果要讓我們的程序運(yùn)行,必須先創(chuàng)建進(jìn)程。而創(chuàng)建進(jìn)程的第一步便是要將程序和對(duì)應(yīng)的數(shù)據(jù)裝入內(nèi)存。把用戶(hù)的源程序變成可執(zhí)行的程序要經(jīng)歷 編譯?。℃溄印。⊙b入 三個(gè)過(guò)程。

 在多道程序當(dāng)中,如果要讓我們的程序運(yùn)行,必須先創(chuàng)建進(jìn)程。而創(chuàng)建進(jìn)程的***步便是要將程序和對(duì)應(yīng)的數(shù)據(jù)裝入內(nèi)存。把用戶(hù)的源程序變成可執(zhí)行的程序要經(jīng)歷 編譯?。℃溄印。⊙b入 三個(gè)過(guò)程。

此刻我要說(shuō)的就是***的一個(gè)步驟,如何為一個(gè)用戶(hù)程序分配相應(yīng)的內(nèi)存空間。

***種:?jiǎn)我贿B續(xù)分配方式

適用于單用戶(hù)、單任務(wù)的操作系統(tǒng)。沒(méi)什么好講的。

第二種:固定分區(qū)分配

此種分配方式把內(nèi)存空間分為固定大小的區(qū)域,每個(gè)分區(qū)允許一個(gè)作業(yè)被裝入。分區(qū)大小可以不相同。通常會(huì)建立一張分區(qū)使用表來(lái)記錄每個(gè)分區(qū)的起始地址、分區(qū)大小、狀態(tài)。沒(méi)有足夠大的分區(qū)則拒絕分配內(nèi)存。此種分配方式是最早的多道程序的存儲(chǔ)管理方式。

缺點(diǎn):限制了進(jìn)程的數(shù)目,內(nèi)存空間利用率比較低。

第三種:動(dòng)態(tài)分區(qū)分配

此種方式涉及到相應(yīng)的數(shù)據(jù)結(jié)構(gòu)(分區(qū)表、分區(qū)鏈),分區(qū)分配算法和回收操作。

分區(qū)分配算法有:***適應(yīng)算法 ( 以鏈表結(jié)構(gòu)為例,下同。從鏈?zhǔn)组_(kāi)始順序查找,找到一個(gè)符合條件的分區(qū)即可進(jìn)行相應(yīng)的分配,沒(méi)有符合條件的則分配失敗 ) 、循環(huán)***適應(yīng)算法(從上一次符合條件的分區(qū)進(jìn)行循環(huán)查找 ) 、***適應(yīng)算法(首先需要把空閑分區(qū)鏈表按容量排序 [ 排序的目的是為了加速查找,否則就要遍歷整個(gè)鏈表 ] ,然后從鏈?zhǔn)走M(jìn)行順序查找 ) 、最壞適應(yīng)算法( 選擇***的空閑分區(qū),然后進(jìn)行分配 ) 、快速適應(yīng)算法 ( 分類(lèi)搜索算法,采取分區(qū)表加上相同類(lèi)別管理的鏈表進(jìn)行記錄,僅需根據(jù)進(jìn)程的長(zhǎng)度,即可分配相應(yīng)的內(nèi)存空間?。?。

回收內(nèi)存的方式:只要回收空間與空閑分區(qū)相鄰接,那么僅需與空閑分區(qū)合并即可;否則,需為回收區(qū)單獨(dú)建立一項(xiàng)新的表,然后把回收區(qū)的首地址插入到空閑鏈中相應(yīng)的位置。

缺點(diǎn):相應(yīng)分配的算法比較復(fù)雜,回收空間需要合并分區(qū),系統(tǒng)開(kāi)銷(xiāo)大。

第四種:伙伴系統(tǒng)

規(guī)定:已分配區(qū)間或空閑區(qū)間的大小均為2的k次冪。

具體:當(dāng)進(jìn)程需要一個(gè)長(zhǎng)度為n的空間時(shí),需要計(jì)算一個(gè)i值,使得2的i-1次方小于n,2的i次方大于等于n。然后根據(jù)計(jì)算結(jié)果,得到空閑分區(qū)鏈表中查找大小為2的i次方的空閑分區(qū),如果不存在這樣的分區(qū),則將2的i+1次方化成兩個(gè)2的i次方的空閑分區(qū),以此類(lèi)推,總有符合的空閑分區(qū)?;厥张c分配空間的方式恰好相反。

第五種:哈希算法

在分類(lèi)搜索算法的基礎(chǔ)上,利用哈??焖俨檎业膬?yōu)點(diǎn),快速到查找相同容量類(lèi)別的鏈表,實(shí)現(xiàn)***的分配策略。

第六種:可重定位分區(qū)分配

此種算法考慮到的情況是:有很多內(nèi)存碎片。對(duì)于一個(gè)進(jìn)程來(lái)說(shuō),沒(méi)有任何一個(gè)碎片能夠滿(mǎn)足進(jìn)程所需的容量要求,但是碎片的容量總和能夠滿(mǎn)足一個(gè)或者多個(gè)進(jìn)程的容量要求。

解決方案:①把內(nèi)存中的所有作業(yè)全部移動(dòng),讓他們緊湊在一起,這樣內(nèi)存碎片便集中在一起了。(需要對(duì)移動(dòng)的程序地址進(jìn)行修改才行)

分區(qū)分配算法:與動(dòng)態(tài)分區(qū)分配算法類(lèi)似,不過(guò)多了“緊湊”的操作。

第七種:對(duì)換

將占用內(nèi)存卻沒(méi)有干什么事情的進(jìn)程給放到對(duì)換區(qū)(外存分為文件區(qū)和對(duì)換區(qū))。

責(zé)任編輯:武曉燕 來(lái)源: 自我修煉秘籍
相關(guān)推薦

2022-01-10 13:27:11

Chrome DevtMemory內(nèi)存分配

2009-11-11 10:12:13

微軟Linux操作系統(tǒng)

2022-11-28 07:21:53

操作系統(tǒng)內(nèi)存管理

2010-04-22 14:18:42

Aix操作系統(tǒng)

2009-08-17 08:32:56

Linux操作系統(tǒng)內(nèi)存管理Linux

2013-08-19 15:52:40

移動(dòng)操作系統(tǒng)

2010-04-20 14:17:21

Unix操作系統(tǒng)

2014-05-15 11:02:34

Linux操作系統(tǒng)國(guó)產(chǎn)操作系統(tǒng)

2023-11-06 08:47:52

操作系統(tǒng)物理內(nèi)存

2021-03-28 13:54:31

操作系統(tǒng)內(nèi)存管理

2012-08-13 10:19:03

IBMdW

2022-11-02 07:23:06

2024-08-05 00:05:00

操作系統(tǒng)內(nèi)存管理

2010-02-26 14:13:51

Linux操作系統(tǒng)

2010-04-15 14:40:26

Unix操作系統(tǒng)

2009-12-09 17:25:19

Linux操作系統(tǒng)

2010-03-04 14:34:50

Linux操作系統(tǒng)

2009-07-23 18:43:25

操作系統(tǒng)LinuxWindows

2012-03-30 14:43:23

2021-04-19 11:23:29

操作系統(tǒng)計(jì)算機(jī)DOS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)