第四章 存儲器管理

存儲部件的層次

主存:在保存進(jìn)程運行時的程序和數(shù)據(jù)滩愁;

寄存器:速度最快抖仅,價格昂貴容量不大匾寝,一般以字為單位括堤,只要存放指令一次操作的數(shù)據(jù)就夠了碌秸;

高速緩存:一種速度比內(nèi)存快的存儲設(shè)備,一般同寄存器一樣集成在CPU中(速度快悄窃,存放部分內(nèi)存數(shù)據(jù)讥电,硬件自動處理);

磁盤緩存:內(nèi)存的一部分轧抗,將頻繁使用的一部分磁盤數(shù)據(jù)信息預(yù)讀入在磁盤緩存恩敌,減少磁盤讀寫時間


1.程序的裝入和鏈接


創(chuàng)建進(jìn)程的第一件事:將程序和數(shù)據(jù)裝入內(nèi)存

1.地址的概念

邏輯地址(相對地址,虛地址):用戶的程序經(jīng)過匯編或編譯后形成目標(biāo)代碼横媚,目標(biāo)代碼中的指令地址是相對地址纠炮。一般手地址為0.

物理地址(絕對地址,實地址)

內(nèi)存中存儲單元的地址灯蝴;物理地址可直接尋址被執(zhí)行恢口。

地址映射:將用戶程序中的邏輯地址轉(zhuǎn)換為運行時由機器直接尋址的物理地址的過程。

2)程序裝入中的地址處理

邏輯地址============物理地址:①絕對裝入方式 ? ?優(yōu)點:裝入過程簡單穷躁,不需任何地址變換弧蝇,程序中的邏輯地址與實際內(nèi)存物理地址完全相同。缺點:過于依賴硬件結(jié)構(gòu)折砸,只適用早期單道環(huán)境下

重定位:把 ?目標(biāo)程序中的 指令和數(shù)據(jù) 的 邏輯地址 變成內(nèi)存中的物 理地址的地址變換過程。

邏輯地址→重定位→物理地址:②靜態(tài)可重定位裝入方式

地址映射在程序執(zhí)行之前進(jìn)行沙峻,重定位后物理地址不再改變

優(yōu)點:不需硬件支持睦授,可以裝入有限的多道程序 ? 缺點:軟件裝入一次完成,一個程序通常需要占用連續(xù)的內(nèi)存空間摔寨, ?不易實現(xiàn)共享

③動態(tài)運行時(重定位)裝入方式 ? ? ? ? ? ?程序裝入內(nèi)存是去枷,可多次重定位到不同位置,且可以不立即把裝入模塊中的相對地址轉(zhuǎn)換為絕對地址,而是把這種地址轉(zhuǎn)換推遲到程序真正要執(zhí)行時才進(jìn)行删顶。竖螃。。更適用于部分裝入逗余。

3)不同的程序鏈接方式:①靜態(tài)鏈接 ? 裝入運行前 ②裝入時動態(tài)鏈接 ?邊裝入邊鏈接 ? ? 1.便于修改和更新2.便于實現(xiàn)共享③運行時動態(tài)鏈接 ? ? ? ?不全部裝入特咆,對某些目標(biāo)模塊的鏈接,在執(zhí)行中需要該目標(biāo)模塊時录粱,才對它進(jìn)行鏈接腻格。 ? 優(yōu)點:程序運行裝入的內(nèi)容少了,加快了裝入過程啥繁,而且節(jié)省大量的內(nèi)存空間菜职。

2.連續(xù)分配方式


(1)單一連續(xù)分配:分為系統(tǒng)區(qū)(低址部分)和用戶區(qū)兩部分;優(yōu)點:易于管理:缺點:內(nèi)存浪費

(2)固定分區(qū)分配:把內(nèi)存分為一些大小相等或不等的分區(qū)旗闽,操作系統(tǒng)占用其中一個分區(qū)酬核。 ? ? ?支持多個程序并發(fā)執(zhí)行 ? ? ? ? ? ? ? ? ? ? ? 劃分為幾個分區(qū),便允許幾道作業(yè)并發(fā)

劃分分區(qū)大惺适摇:相等嫡意,只適合于多個相同程序的并發(fā)執(zhí)行。缺乏靈活性亭病;鹅很;;罪帖;促煮;;整袁;菠齿;;坐昙;绳匀;;分區(qū)大小不等炸客,多個小的疾棵,適量中等,少量大的


固定分配的不足: ? 1 ?內(nèi)碎片(一個分區(qū)內(nèi)的剩余空間)造成浪費2分區(qū)總數(shù)固定痹仙,限制并發(fā)執(zhí)行的程序數(shù)量


(3)動態(tài)分區(qū)分配

分區(qū)的大小不固定:需要多少劃分多少

優(yōu)點:并發(fā)進(jìn)程數(shù)沒有固定數(shù)的限制是尔,不會產(chǎn)生內(nèi)碎片。缺點:有外碎片(分區(qū)間無法利用的空間)

2)分區(qū)分配算法

①首次適應(yīng)算法FF(保留了高址部分的空閑區(qū)开仰;會產(chǎn)生較多小碎片拟枚;增加查找開銷)

? ②循環(huán)首次適應(yīng)算法 (從上次空閑分區(qū)的下一個開始查找 ? ? ? ?薪铜。空閑分區(qū)分布均勻恩溅,減少查找開銷隔箍;缺乏大的空閑分區(qū)) ? ? ?

③最佳適應(yīng)算法 (所有空閑分區(qū)按容量從小到大排序成空閑分區(qū)表或鏈 ? ?、產(chǎn)生許多難以利用的小空閑區(qū)脚乡,外碎片) ? ? ? ? ? ? ? ?

?④最差適應(yīng)算法(缺乏較大的空閑分區(qū))

? ⑤快速適應(yīng)算法(空間換時間蜒滩,相同大小的進(jìn)程串成一個鏈)


回收分區(qū):1.回收區(qū)與某區(qū)末尾臨接 ? ?2.回收區(qū)與某區(qū)首址臨接 ? ? 3. ? 前后臨接 4.無臨接

動態(tài)重定位分區(qū)分配:動態(tài)連續(xù)分配無法解決外碎片問題(動態(tài)重定位分區(qū)分配算法與動態(tài)分區(qū)分配算法基本相同,差別在于增加了緊湊的功能每窖。)

(5)內(nèi)存空間管理之對換


3.基本分頁存儲管理方式.

分頁方式下帮掉,內(nèi)存的使用率高,浪費少窒典。但不是絕對沒有碎片(進(jìn)程的最后一頁不總是能占滿一個物理塊)

1)頁面的概念

①物理劃分塊的大小=邏輯劃分頁的大畜〈丁②頁面大小要適中(太大,內(nèi)碎片增大瀑志,類似連續(xù)分配的問題涩搓;太小,頁面碎片總空間雖然小劈猪,提高了利用率昧甘,但每個進(jìn)程的頁面數(shù)量較多,頁表過長战得,反而又增加了空間使用)

2)頁表的概念:為了找到被離散分配到內(nèi)存中的作業(yè)充边,記錄每個作業(yè)各頁映射到哪個物理塊,形成的頁面映射表常侦,簡稱頁表浇冰。(每個作業(yè)有自己的頁表;作用:頁號到物理塊號的地址映射聋亡;找作業(yè)先找頁表PCB肘习,根據(jù)PCB找物理塊)

作業(yè)相對地址:頁號+頁內(nèi)地址(頁內(nèi)偏移)

邏輯地址格式

? ? 4)地址變換機構(gòu):指令頁號(→物理塊)+內(nèi)部偏移量

5)快表(具有“并行查詢”能力的高速緩沖寄存器):快表放正在執(zhí)行進(jìn)程的頁表的數(shù)據(jù)項EAT=2t + ?t' - t * a

6)兩級、多級頁表坡倔,反置頁表


反置頁表

4.基本分段存儲管理方式

每段占據(jù)一塊連續(xù)的內(nèi)存(即有離散的分段漂佩,又有連續(xù)的內(nèi)存使用)、各段大小不等

分段和分頁的主要區(qū)別

1.需求:分頁是出于系統(tǒng)管理的需要罪塔,是一種信息的物理劃分單位投蝉,分段是出于用戶應(yīng)用的需要,是一種邏輯單位征堪,通常包含一組意義相對完整的信息墓拜;

2.大小:頁大小是系統(tǒng)固定的请契,而段大小則通常不固定咳榜。分段沒有內(nèi)碎片,但連續(xù)存放段產(chǎn)生外碎片(內(nèi)存碎片)爽锥,可以通過內(nèi)存緊縮來消除涌韩。相對而言分頁空間利用率高

3.邏輯地址:分頁是一維的氯夷,各個模塊在鏈接時必須組織成同一個地址空間臣樱;分段是二維的,各個模塊在鏈接時可以每個段組織成一個地址空間腮考。

4.其他:通常段比頁大雇毫,因而段表比頁表短,可以縮短查找時間踩蔚,提高訪問速度棚放。分段模式下,還可針對不同類型采取不同的保護(hù)馅闽;按段為單位來進(jìn)行共享飘蚯。

5)段頁式存儲管理方式

①基本原理:將用戶程序分成若干段,每個段分成若干頁福也,地址結(jié)構(gòu)包括段號局骤、段內(nèi)頁號和業(yè)內(nèi)地址三部分。

Linux僅把運行進(jìn)程當(dāng)前使用的少量頁面裝入內(nèi)存(內(nèi)存分配)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末暴凑,一起剝皮案震驚了整個濱河市峦甩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌现喳,老刑警劉巖凯傲,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拿穴,居然都是意外死亡泣洞,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門默色,熙熙樓的掌柜王于貴愁眉苦臉地迎上來球凰,“玉大人,你說我怎么就攤上這事腿宰∨凰撸” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵吃度,是天一觀的道長甩挫。 經(jīng)常有香客問我,道長椿每,這世上最難降的妖魔是什么伊者? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任英遭,我火速辦了婚禮,結(jié)果婚禮上亦渗,老公的妹妹穿的比我還像新娘挖诸。我一直安慰自己,他們只是感情好法精,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布多律。 她就那樣靜靜地躺著,像睡著了一般搂蜓。 火紅的嫁衣襯著肌膚如雪狼荞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天帮碰,我揣著相機與錄音相味,去河邊找鬼。 笑死收毫,一個胖子當(dāng)著我的面吹牛攻走,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播此再,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼昔搂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了输拇?” 一聲冷哼從身側(cè)響起摘符,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎策吠,沒想到半個月后逛裤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡猴抹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年带族,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蟀给。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝙砌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出跋理,到底是詐尸還是另有隱情择克,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布前普,位于F島的核電站肚邢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏拭卿。R本人自食惡果不足惜骡湖,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一贱纠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧勺鸦,春花似錦并巍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刽射。三九已至军拟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間誓禁,已是汗流浹背懈息。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留摹恰,地道東北人辫继。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像俗慈,于是被迫代替她去往敵國和親姑宽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

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

  • 存儲器的層次結(jié)構(gòu)‘ 多層結(jié)構(gòu)的存儲器系統(tǒng) 存儲器的多層結(jié)構(gòu)闺阱。 存儲層次至少應(yīng)具有三級:最高層為 CPU 寄存器炮车,中...
    傻傻傻瓜_d432閱讀 858評論 0 0
  • 1.程序的裝入和鏈接 1)程序的裝入和鏈接 (1)地址的概念 邏輯地址(相對地址,虛地址) 物理地址(絕對地址酣溃,實...
    Pakho柏豪閱讀 363評論 0 0
  • 4.1程序的裝入和鏈接 1瘦穆、創(chuàng)建進(jìn)程的第一件事:將程序和數(shù)據(jù)裝入內(nèi)存。 2赊豌、程序的裝入和鏈接 1)編譯 2)鏈接 ...
    Whocare_2f87閱讀 353評論 0 0
  • 第四章 存儲器管理 一扛或、單項選擇題 1、存儲管理的目的是( C )碘饼。 A.方便用戶 B.提高內(nèi)存利用率 C.方便用...
    黃一倚閱讀 7,328評論 1 0
  • 本書主要說明的是:游戲除了浪費時間玩樂之外熙兔,對個人生活和對人類社會都能起到改善和推動的作用。 【一派昧、觀點概要】 游...
    大桃子_大桃子閱讀 9,325評論 0 11