上篇介紹了存儲器的相關(guān)知識,偏重的是硬件結(jié)構(gòu),本篇介紹存儲管理的相關(guān)知識,偏重的是軟件管理。
(資料圖)
操作系統(tǒng),包括嵌入式系統(tǒng),通常利用存儲管理單元MMU(Memory Management Unit)來提供內(nèi)存保護(hù)機(jī)制,實(shí)現(xiàn)系統(tǒng)內(nèi)核與應(yīng)用程序,應(yīng)用程序與應(yīng)用程序之間的隔離。
內(nèi)存保護(hù)包括兩個(gè)方面:
防止地址越界:對于多個(gè)應(yīng)用程序,每個(gè)應(yīng)用程序都有自己獨(dú)立的地址空間。防止操作越界:對于多個(gè)應(yīng)用程序共享的內(nèi)存區(qū)域,每個(gè)應(yīng)用程序都有自己的訪問權(quán)限。存儲管理的方式,通??梢苑譃橐幌聨最悾?strong>分區(qū)存儲,頁式存儲,段式存儲
分區(qū)存儲又可分為兩類:
固定分區(qū)存儲:分區(qū)大小是固定的可變分區(qū)存儲:分區(qū)大小是可變的固定分區(qū),是指分區(qū)的個(gè)數(shù)、位置、大小一旦確定后,就不再變化了。另外,分區(qū)的大小可以是相等的,也可以是不相等的。
對于新任務(wù)到來后的內(nèi)存分配原則,有兩種:
多個(gè)輸入隊(duì)列:對于每一個(gè)用戶分區(qū),都有一個(gè)相應(yīng)的輸入隊(duì)列。當(dāng)一個(gè)新任務(wù)到來時(shí),就把它加入到對應(yīng)的隊(duì)列中,要求這個(gè)隊(duì)列對應(yīng)的分區(qū),是能夠裝得下該任務(wù)的最小分區(qū)。單個(gè)輸入隊(duì)列:所有的用戶分區(qū)只設(shè)置一個(gè)輸入隊(duì)列。當(dāng)一個(gè)新任務(wù)到來時(shí),就把它加入到對應(yīng)的隊(duì)列中,當(dāng)某個(gè)分區(qū)空閑時(shí),就從隊(duì)列中選擇合適的任務(wù)去占用這個(gè)分區(qū),在任務(wù)選擇時(shí),可以有兩種分配方法:方式一:選擇離對首最近的且能夠裝入這個(gè)分區(qū)的任務(wù)。當(dāng)選中的是較小的任務(wù)時(shí),則會(huì)浪費(fèi)大量內(nèi)存空間。方式二:先搜索整個(gè)隊(duì)列,選擇能夠裝入這個(gè)分區(qū)的最大任務(wù),盡可能減小空間浪費(fèi)。對于固定分區(qū):
優(yōu)點(diǎn):易于實(shí)現(xiàn),系統(tǒng)開銷較?。臻e空間管理、內(nèi)存分配與回收算法復(fù)雜度低)缺點(diǎn):內(nèi)存利用率不高,產(chǎn)生內(nèi)存碎片;分區(qū)總數(shù)固定,限制了并發(fā)程序的個(gè)數(shù)可變分區(qū),是指分區(qū)不是預(yù)先劃分的,而實(shí)動(dòng)態(tài)創(chuàng)建的,在裝入一個(gè)程序時(shí),系統(tǒng)根據(jù)它的需求和內(nèi)存空間的使用情況來決定是否分配。
當(dāng)一個(gè)程序開始運(yùn)行,要求裝入內(nèi)存時(shí),系統(tǒng)就會(huì)從空閑區(qū)劃出一塊進(jìn)行分配;當(dāng)程序運(yùn)行完則釋放存儲區(qū)域,變?yōu)榭臻e區(qū)。
在具體實(shí)現(xiàn)可變分區(qū)管理時(shí),需考慮三個(gè)方面問題:
內(nèi)存管理的數(shù)據(jù)結(jié)構(gòu):系統(tǒng)會(huì)維護(hù)一個(gè)分區(qū)鏈表,記錄每個(gè)內(nèi)存分區(qū)的情況(分配狀態(tài)、起始地址、長度等)內(nèi)存的分配算法:當(dāng)新任務(wù)到來時(shí),需決策分配到哪個(gè)空閑分區(qū),通常有4種分配法 :最先匹配法:從鏈表頭,按順序找到第一個(gè)能裝入新任務(wù)的空閑分區(qū)。接著把該空閑分區(qū)中按照任務(wù)大小分割,剩余的部分仍是一個(gè)空閑分區(qū),將任務(wù)裝入,并更新分區(qū)鏈表下次匹配法:與最優(yōu)匹配法類似,區(qū)別是每次分配后記錄位置,下次再分區(qū)時(shí)從此位置開始查找,而不是從固定的鏈表頭開始查找最佳匹配法:將新任務(wù)狀態(tài)與其大小最接近的空閑分區(qū)中。這種方法最大的缺點(diǎn)是產(chǎn)生的空閑分區(qū)可能很小而無法使用最壞匹配法:每次都選用最大的分區(qū)進(jìn)行分配,避免出現(xiàn)不可用的極小分區(qū),但較大的空閑分區(qū)也不被保留內(nèi)存的回收算法:當(dāng)任務(wù)運(yùn)行結(jié)束釋放內(nèi)存時(shí),若有相鄰的空閑分區(qū),則需要合并為一個(gè)大的空閑分區(qū),并更新分區(qū)鏈表
對于內(nèi)存的分配算法,可以看下如下實(shí)例:某計(jì)算機(jī)系統(tǒng)內(nèi)存大小128k,采用可變分區(qū)分配方式進(jìn)行內(nèi)存分配,當(dāng)前系統(tǒng)的內(nèi)存分塊情況如下圖左圖,現(xiàn)有一個(gè)作業(yè)4要分配9k的內(nèi)存,這這種分配算法的分區(qū)情況如下圖右邊4個(gè)子圖所示
可變分區(qū)改善了固定分區(qū)的一些缺點(diǎn),但作為分區(qū)存儲本身,仍有一些無法解決的問題:
當(dāng)進(jìn)程運(yùn)行所需的內(nèi)存大于系統(tǒng)內(nèi)存時(shí),則無法將整個(gè)進(jìn)程一起調(diào)入內(nèi)存,從而無法運(yùn)行該程序頁式存儲,將進(jìn)程空間分配為一個(gè)個(gè)頁,同時(shí)將系統(tǒng)內(nèi)存也分配為一個(gè)個(gè)頁,例如都是4K的大小。
這樣,運(yùn)行程序時(shí),每次將需要運(yùn)行的邏輯頁狀態(tài)內(nèi)存中,運(yùn)行完再裝入下一個(gè)要運(yùn)行的頁,這樣就解決了空間極大的進(jìn)程運(yùn)行的問題。
對于邏輯頁,可以用頁號和頁內(nèi)地址表示:
頁號:與內(nèi)存中的物理塊號并不是對應(yīng)的,需要通過查詢“頁表”得到對應(yīng)的物理塊號業(yè)內(nèi)地址:或稱頁內(nèi)偏移量,與內(nèi)存中的物理偏移地址是一致的比如上圖中,其地址長度32位,頁號占用20位,頁內(nèi)地址占用12位,則頁面總數(shù)為2^20=1024K=1M個(gè),頁面大小為2^12=4K
對于頁表的表示,如下圖,左邊是進(jìn)程中的頁號,通過查詢頁表,可以得到右邊內(nèi)存中對應(yīng)的塊號。
通過頁表的方式,可以實(shí)現(xiàn)從邏輯地址到物理地址的轉(zhuǎn)換。
邏輯地址:頁號+業(yè)內(nèi)偏移物理地址:物理塊號+頁內(nèi)偏移地址兩種地址的頁內(nèi)偏移是一樣的,所以地址轉(zhuǎn)換,只需要先計(jì)算出頁號與物理塊號的轉(zhuǎn)換關(guān)系,即可進(jìn)行地址轉(zhuǎn)換。
頁式存儲的地址轉(zhuǎn)換,可看如下實(shí)例:
題目:頁面大小L為1k字節(jié),頁號2對應(yīng)的內(nèi)存塊號b=8,將邏輯地址A=2500轉(zhuǎn)換為物理地址E
由題目可得如下分析:
頁面大小1k,則頁內(nèi)地址占用10位邏輯地址2500轉(zhuǎn)為16進(jìn)制為0x09C4,取低10位為業(yè)內(nèi)地址,即0x01C4,頁號為0x02由題目知頁號為0x02對應(yīng)的內(nèi)存塊號為8,對應(yīng)的16進(jìn)制為0x08,將其與業(yè)內(nèi)地址組合,可得物理地址為0x0x21C4,十進(jìn)制即為8644。或直接使用十進(jìn)制計(jì)算:
頁號P=A/L=2500/1024=2,由題目知,其對應(yīng)的內(nèi)存塊號為8
業(yè)內(nèi)偏移w=A%L=2500%1024=452
則物理地址為:
E=b*L+w=8*1024+452=8644
頁式存儲的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):內(nèi)存利用率高,內(nèi)存碎片小,分配與管理簡單缺點(diǎn):增加了系統(tǒng)的開銷,可能產(chǎn)生抖動(dòng)現(xiàn)象段式存儲與頁式存儲比較相似,區(qū)別是段式存儲不是按照固定的大小分割內(nèi)存,而是根據(jù)進(jìn)程的邏輯功能進(jìn)行空間畫法,這樣便于內(nèi)存共享,只是每段的空間大小不同。
與頁式存儲類似,段式存儲每段的表示,由段號和段內(nèi)地址組成。
從邏輯地址到物理地址的轉(zhuǎn)換,則是通過段表的查詢來實(shí)現(xiàn)。
看一個(gè)實(shí)例,例如,某進(jìn)程的段表內(nèi)容如下,當(dāng)訪問段號2,段內(nèi)地址400的邏輯地址時(shí),進(jìn)行地址轉(zhuǎn)換則會(huì)出現(xiàn)越界異常
段號 | 段長 | 內(nèi)存起始地址 | 權(quán)限 | 狀態(tài) |
---|---|---|---|---|
0 | 100 | 6000 | 只讀 | 在內(nèi)存 |
1 | 200 | -- | 讀寫 | 不在內(nèi)存 |
2 | 300 | 4000 | 讀寫 | 在內(nèi)存 |
因?yàn)槎翁?對應(yīng)的段長只有300,而段內(nèi)地址400則超出了范圍,地址4400為非法地址
段頁式存儲,則是將段式存儲和頁式存儲結(jié)合起來使用,對進(jìn)程空間先分段,再分頁。
段頁式存儲優(yōu)缺點(diǎn):
優(yōu)點(diǎn):空間浪費(fèi)小,便于存儲共享與存儲保護(hù),可以動(dòng)態(tài)鏈接缺點(diǎn):管理的復(fù)雜度與開銷增大,需要的硬件增加,執(zhí)行速度下降本篇介紹了存儲管理的相關(guān)知識,包括存儲管理的分類:分區(qū)存儲、頁式存儲和段式存儲,已經(jīng)不同存儲方式的地址轉(zhuǎn)換方式與優(yōu)缺點(diǎn)等。
標(biāo)簽:
資金流向數(shù)據(jù),主力資金凈流入712 15萬元,占總成交額17%,其中超大單
湖南日報(bào)·新湖南客戶端8月7日訊(通訊員向巍)近日,在安化縣清塘鋪鎮(zhèn)文
在這立秋的良辰吉日,為紀(jì)念與傳承南音泰斗莊步聯(lián)先生的藝術(shù)風(fēng)范,深切
武漢凡谷2023年中報(bào)顯示,公司本報(bào)告期的營業(yè)收入為933,485,242 27元,
據(jù)了解,英特爾計(jì)劃于9月19日開始舉辦為期兩天的Innovation2023(創(chuàng)新2
以下是兩面針在北京時(shí)間8月7日10:27分盤口異動(dòng)快照:8月7日,兩面針盤
據(jù)重慶市水文監(jiān)測總站監(jiān)測,8月6日8時(shí)至今日8時(shí),重慶大部地區(qū)小到中雨
內(nèi)容正在升級改造,請稍后再試!【免責(zé)聲明】本文僅代表合作供稿方觀點(diǎn)
肝臟是維持身體新陳代謝不可缺少的重要器官之一。肝臟受損早期病情隱匿
2023河南火箭軍文職人員報(bào)名時(shí)間1、報(bào)名時(shí)間:8月8日08:00至14日18:00
“真情”服務(wù)登熱搜!青島國際啤酒節(jié)
近日,一則“河北游客點(diǎn)贊文明青島”的短視頻登上平臺熱搜。視頻中,一
人文青島|錯(cuò)位姻緣,她選擇了尊重—
□半島全媒體首席記者張文艷再訪正在整修中的王統(tǒng)照故居,工程已經(jīng)接近
展訊 | “重彩畫嶗山、靜心抄經(jīng)典
中國(嶗山)道家書畫院[重彩畫嶗山,靜心抄經(jīng)典]書畫展于7月31日隆重
第33屆青島國際啤酒節(jié)今晚閉幕
第33屆青島國際啤酒節(jié)于今晚20:00在青島西海岸新區(qū)金沙灘啤酒城舉行閉
雨后嶗山,云??澙@
8月6日,雨后的嶗山出現(xiàn)了難得一見的云海美景,一座座連綿起伏的山峰在
圖片新聞2
近日,中國電信江蘇連云港分公司黨員“紅馬甲”走進(jìn)友鄰社區(qū)——龍尾社
鄧正紅能源軟實(shí)力:風(fēng)險(xiǎn)偏好回升 原
宏觀層面,原油市場再次陷入了供需挺價(jià)和宏觀偏空預(yù)期的對壘中。當(dāng)?shù)貢r(shí)
皮爾斯發(fā)推:我現(xiàn)在仍然要比推特上99
前綠軍球星保羅-皮爾斯更新社交媒體動(dòng)態(tài)。皮爾斯發(fā)推:“我現(xiàn)在仍然要
重慶16區(qū)縣暴雨 江津飛龍河一度超保
據(jù)重慶市水文監(jiān)測總站監(jiān)測,8月6日8時(shí)至今日8時(shí),重慶大部地區(qū)小到中雨
一圖讀懂 | 優(yōu)化市場化營商環(huán)境,
設(shè)計(jì)平安琪編輯陳苑婷審讀劉春生二審徐雅喬三審朱玉林(作者:讀特融媒
海上開“槳”,岸上瑜伽!2023年青島
全國第15個(gè)“全民健身日”即將到來,8月6日,以“全民健身繪就幸福生活
嘎子謝孟偉回應(yīng)被曝捐物資作假 背后
今天關(guān)于“【嘎子謝孟偉回應(yīng)被曝捐物資作假背后真相實(shí)在讓人無語具體是
白天爬泰山攻略不看日出_白天爬泰山
一、行程:早上乘車赴泰安(約1 5小時(shí))抵達(dá)泰山后由天外村乘換山車抵
非誠勿擾33期暖小新_非誠勿擾33期
1、有可能是要?jiǎng)e的女嘉賓參加。2、所以要她們先休息幾星期吧。3、或者
北京團(tuán)員青年堅(jiān)守防汛搶險(xiǎn)一線:聞“
7月29日起,北京市持續(xù)遭遇強(qiáng)降雨天氣,門頭溝區(qū)、房山區(qū)等地受強(qiáng)降雨
我省公布第三批省級旅游休閑街區(qū)名單
我省公布第三批省級旅游休閑街區(qū)名單,主流媒體,山西門戶。山西新聞網(wǎng)是
一日兩家省級銀行獲準(zhǔn)籌建,河南、遼
財(cái)聯(lián)社8月4日訊(記者梁柯志)8月4日,國家金融監(jiān)督管理總局公告,同時(shí)
我省商務(wù)領(lǐng)域農(nóng)村消費(fèi)幫扶行動(dòng)重點(diǎn)明
我省商務(wù)領(lǐng)域農(nóng)村消費(fèi)幫扶行動(dòng)重點(diǎn)明確,主流媒體,山西門戶。山西新聞網(wǎng)
恒瑞醫(yī)藥再回應(yīng)卷入醫(yī)藥反腐風(fēng)暴傳聞
恒瑞醫(yī)藥回應(yīng)卷入醫(yī)藥反腐風(fēng)暴傳聞:沒有網(wǎng)傳情形,經(jīng)營管理正常。該公
廣州隊(duì)0-2九牛,4場不勝!被猜疑更衣
曾經(jīng)的中超8冠王廣州隊(duì),在薩爾瓦多接手球隊(duì)后,交出一波4勝1平5場不敗
李夢今日WNBA出戰(zhàn)18分23秒 6投2中得
直播吧8月7日訊?今日WNBA比賽,華盛頓神秘人83-91不敵洛杉磯火花。本
嘴巴上火怎么辦_上火怎么辦
1、口服:牛黃解毒片,一次3粒,日3次。每4至6小時(shí)服用一次。但不要吃
綜研視點(diǎn)|深圳向世界一流汽車城“狂
深汕比亞迪汽車工業(yè)園一期。通訊員何伯穎攝在深汕特別合作區(qū)鵝埠鎮(zhèn),
深圳多宗舊改公示 涉及珠光龍崗布吉
觀點(diǎn)網(wǎng)訊:8月4日,深圳市龍崗區(qū)城市更新和土地整備局發(fā)布關(guān)于《龍崗區(qū)
雨后嶗山,云??澙@
8月6日,雨后的嶗山出現(xiàn)了難得一見的云海美景,一座座連綿起伏的山峰在
23種設(shè)計(jì)模式應(yīng)用場景_23種設(shè)計(jì)模式
1、C 23種設(shè)計(jì)模式:單件模式、抽象工廠、建造者模式、工廠方法模式、
未來可期!陳國豪:難忘的旅程!好壞
直播吧8月7日訊?成都大運(yùn)會(huì),中國男籃取得第十名的歷史最好成績。大運(yùn)
7 月黑貓投訴航司領(lǐng)域紅黑榜:中國
黑貓投訴發(fā)布了7月份企業(yè)投訴處理紅黑榜單,其中中國國際航空電話購票
藍(lán)水翡翠稀有還是墨翠稀有
藍(lán)水翡翠和墨翠都屬于翡翠的品種,而翡翠的稀有程度是根據(jù)其顏色、透明
《河南教育》(教師教育)理事會(huì)年會(huì)
7月19日,2023年《河南教育》(教師教育)理事會(huì)年會(huì)在信陽師范大學(xué)教