分頁式/段式存儲(chǔ)管理

一分冈、概述

在復(fù)習(xí)操作系統(tǒng)的時(shí)候 ,遇到的第一個(gè)難點(diǎn)霸株,當(dāng)年的操作系統(tǒng)課上老師這塊也沒講雕沉,所以對(duì)這些知識(shí)的了解幾乎為空白,特此記錄去件,怕過后忘了坡椒。

好,現(xiàn)在進(jìn)入正題尤溜。

頁式倔叼,段式或者段頁式都管理屬于離散存儲(chǔ)管理中的一種 ,采用這種方式的主要目的是為了解決碎片問題宫莱,不用連續(xù)地分配內(nèi)存丈攒,可以將一個(gè)進(jìn)程/程序離散地裝入到不連續(xù)的內(nèi)存中。

二授霸、主要過程及涉及技術(shù)介紹說明

分頁式存儲(chǔ)

首先將進(jìn)程和內(nèi)存都已頁為單位進(jìn)行分塊巡验,進(jìn)程中的稱為頁,內(nèi)存中的稱為塊碘耳,一一對(duì)應(yīng)显设,大小相等,這個(gè)時(shí)候就需要一個(gè)專門的數(shù)據(jù)結(jié)構(gòu)來管理這種映射關(guān)系辛辨,也就是頁表捕捂,頁表也是存在內(nèi)存中的瑟枫。在這種映射關(guān)系的基礎(chǔ)上,通過相應(yīng)的硬件轉(zhuǎn)換機(jī)制可以將邏輯地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址绞蹦,從而實(shí)現(xiàn)內(nèi)存的分配與管理力奋。


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (圖1.1)

頁面大小一般是由機(jī)器決定的,通常為4KB幽七,如圖1.1所示,以某一32位邏址為例溅呢,4KB(2^12B)的頁大小澡屡,12根地址線可以完全表示,即快內(nèi)偏移為12位咐旧。剩下20位用來表示頁號(hào)驶鹉,最多可以表示2^20-1頁。再來看頁表項(xiàng)铣墨,一個(gè)頁表項(xiàng)就代表了一個(gè)進(jìn)程中頁與內(nèi)存中塊的映射室埋,故頁面數(shù)等于頁表項(xiàng)個(gè)數(shù),頁表項(xiàng)中有兩個(gè)數(shù)據(jù)項(xiàng)伊约,頁號(hào)和塊號(hào)姚淆。(圖1.2)根據(jù)給定的邏址可以算出對(duì)應(yīng)的頁號(hào),再結(jié)合頁表可以求出對(duì)應(yīng)的塊號(hào)屡律,此時(shí)再結(jié)合偏移地址便可得出物理地址腌逢。


(圖1.2)

具體過程見圖1.3,在映射的過程中超埋,系統(tǒng)還設(shè)置了相應(yīng)的內(nèi)存保護(hù)機(jī)制搏讶,使用一個(gè)界限保護(hù)寄存器,來確保沒有地址越界等事情的發(fā)生霍殴。同時(shí)媒惕,設(shè)置了一個(gè)頁面寄存器來存放頁表始址和頁面長度。


(圖1.3)

上述過程通常由處理器的硬件直接完成来庭,不需要軟件參與妒蔚。通常,操作系統(tǒng)只需在進(jìn)程切換時(shí)巾腕,把進(jìn)程頁表的首地址裝入處理器特定的寄存器中即可面睛。

一般來說,頁表存儲(chǔ)在主存之中尊搬。這樣處理器每訪問一個(gè)在內(nèi)存中的操作數(shù)叁鉴,就要訪問兩次內(nèi)存:

第一次用來查找頁表將操作數(shù)的 邏輯地址變換為物理地址;第二次完成真正的讀寫操作佛寿。

這樣做時(shí)間上耗費(fèi)嚴(yán)重幌墓。為縮短查找時(shí)間但壮,可以將頁表從內(nèi)存裝入CPU內(nèi)部的關(guān)聯(lián)存儲(chǔ)器(例如,快表)中常侣,實(shí)現(xiàn)按內(nèi)容查找蜡饵。

此時(shí)的地址變換過程是:在CPU給出有效地址后,由地址變換機(jī)構(gòu)自動(dòng)將頁號(hào)送人快表胳施,并將此頁號(hào)與快表中的所有頁號(hào)進(jìn)行比較溯祸,而且這種比較是同時(shí)進(jìn)行的。

若其中有與此相匹配的頁號(hào)舞肆,表示要訪問的頁的頁表項(xiàng)在快表中焦辅。于是可直接讀出該頁所對(duì)應(yīng)的物理頁號(hào),這樣就無需訪問內(nèi)存中的頁表椿胯。由于關(guān)聯(lián)存儲(chǔ)器的訪問速度比內(nèi)存的訪問速度快得多筷登。

頁式管理方式的優(yōu)點(diǎn)是:

1)沒有外碎片,每個(gè)內(nèi)碎片不超過頁大比前面所討論的幾種管理方式的最大進(jìn)步是哩盲,

2)一個(gè)程序不必連續(xù)存放前方。

3)便于改變程序占用空間的大小(主要指隨著程序運(yùn)行,動(dòng)態(tài)生成的數(shù)據(jù)增多廉油,所要求的地址空間相應(yīng)增長)惠险。

缺點(diǎn)是:要求程序全部裝入內(nèi)存嗜历,沒有足夠的內(nèi)存航夺,程序就不能執(zhí)行

分段式管理

跟頁式管理不同的是,段式管理是針對(duì)用戶的懒构,它是將程序進(jìn)行分段十兢,裝入內(nèi)存趣竣。在段式存儲(chǔ)管理系統(tǒng)中,為每個(gè)段分配一個(gè)連續(xù)的分區(qū)旱物,而進(jìn)程中的各個(gè)段可以不連續(xù)地存放在內(nèi)存的不同分區(qū)中遥缕。程序加載時(shí),操作系統(tǒng)為所有段分配其所需內(nèi)存宵呛,這些段不必連續(xù)单匣,物理內(nèi)存的管理采用動(dòng)態(tài)分區(qū)的管理方法。

段式管理的內(nèi)存格式和頁式相似宝穗,由段號(hào)和段內(nèi)偏移組成(如圖2.1)户秤,而有點(diǎn)略微不同的是每一段的大小不是由系統(tǒng)決定的,是由用戶編程決定的逮矛。

(圖2.1)

同樣鸡号,段表項(xiàng)也發(fā)生了變換,頁表項(xiàng)只有兩項(xiàng)须鼎,而在段表中增加了一欄鲸伴,用來表示段長府蔗,具體結(jié)構(gòu)如下(圖2.2):

(圖2.2)

同樣,在地址變換機(jī)構(gòu)中汞窗,有兩種越界保護(hù)姓赤,①段號(hào)是否小于段長 ②段內(nèi)偏移是否小于段長。

(圖2.3)

在段式管理系統(tǒng)中仲吏,整個(gè)進(jìn)程的地址空間是二維的不铆,即其邏輯地址由段號(hào)和段內(nèi)地址兩部分組成。為了完成進(jìn)程邏輯地址到物理地址的映射裹唆,處理器會(huì)查找內(nèi)存中的段表狂男,由段號(hào)得到段的首地址,加上段內(nèi)地址品腹,得到實(shí)際的物理地址。(如圖2.3)這個(gè)過程也是由處理器的硬件直接完成的红碑,操作系統(tǒng)只需在進(jìn)程切換時(shí)舞吭,將進(jìn)程段表的首地址裝入處理器的特定寄存器當(dāng)中。這個(gè)寄存器一般被稱作段表地址寄存器析珊。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末羡鸥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子忠寻,更是在濱河造成了極大的恐慌惧浴,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,294評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奕剃,死亡現(xiàn)場離奇詭異衷旅,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)纵朋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門柿顶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人操软,你說我怎么就攤上這事嘁锯。” “怎么了聂薪?”我有些...
    開封第一講書人閱讀 157,790評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵家乘,是天一觀的道長。 經(jīng)常有香客問我藏澳,道長仁锯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,595評(píng)論 1 284
  • 正文 為了忘掉前任笆载,我火速辦了婚禮扑馁,結(jié)果婚禮上涯呻,老公的妹妹穿的比我還像新娘。我一直安慰自己腻要,他們只是感情好复罐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,718評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著雄家,像睡著了一般效诅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上趟济,一...
    開封第一講書人閱讀 49,906評(píng)論 1 290
  • 那天乱投,我揣著相機(jī)與錄音,去河邊找鬼顷编。 笑死戚炫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的媳纬。 我是一名探鬼主播双肤,決...
    沈念sama閱讀 39,053評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼钮惠!你這毒婦竟也來了茅糜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,797評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤素挽,失蹤者是張志新(化名)和其女友劉穎蔑赘,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體预明,經(jīng)...
    沈念sama閱讀 44,250評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缩赛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,570評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贮庞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峦筒。...
    茶點(diǎn)故事閱讀 38,711評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖窗慎,靈堂內(nèi)的尸體忽然破棺而出物喷,到底是詐尸還是另有隱情,我是刑警寧澤遮斥,帶...
    沈念sama閱讀 34,388評(píng)論 4 332
  • 正文 年R本政府宣布峦失,位于F島的核電站,受9級(jí)特大地震影響术吗,放射性物質(zhì)發(fā)生泄漏尉辑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,018評(píng)論 3 316
  • 文/蒙蒙 一较屿、第九天 我趴在偏房一處隱蔽的房頂上張望隧魄。 院中可真熱鬧卓练,春花似錦、人聲如沸购啄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狮含。三九已至顽悼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間几迄,已是汗流浹背蔚龙。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留映胁,地道東北人木羹。 一個(gè)月前我還...
    沈念sama閱讀 46,461評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像解孙,于是被迫代替她去往敵國和親汇跨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,595評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 前段時(shí)間看了進(jìn)程管理妆距,覺得對(duì)編程簡直大有裨益,至少對(duì)于多線程編程方面函匕,對(duì)系統(tǒng)的進(jìn)程管理有了非常深刻的理解娱据,看來還是...
    KevinCool閱讀 1,151評(píng)論 0 1
  • word直接復(fù)制來了,格式就不改了盅惜。至于這門課怎么復(fù)習(xí)中剩,只要平時(shí)實(shí)驗(yàn)都認(rèn)真完成、報(bào)告認(rèn)真寫抒寂,平時(shí)分都很高结啼;考試的話...
    Jozhn閱讀 4,531評(píng)論 0 8
  • 一、溫故而知新 1. 內(nèi)存不夠怎么辦 內(nèi)存簡單分配策略的問題地址空間不隔離內(nèi)存使用效率低程序運(yùn)行的地址不確定 關(guān)于...
    SeanCST閱讀 7,784評(píng)論 0 27
  • 請不要偷看我 請不要偷看我的日記 請不要偷看我的東西 偷偷的碰我的東西 請不要把你因別人犯的錯(cuò)誤而生的氣遷移到我的...
    藍(lán)蔚公子閱讀 164評(píng)論 0 0
  • 上一章 | 目錄 | 下一章 石礫簌簌屈芜,山南坡略低處一塊巨巖后走出一人郊愧,施施然朝山巔走來。 可憐九月初三夜井佑,露似真...
    瑞麟閱讀 391評(píng)論 0 2