第四章 存儲器管理

1.程序的裝入和鏈接

1)程序的裝入和鏈接

(1)地址的概念

邏輯地址(相對地址,虛地址)

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

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

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

①絕對裝入方式

優點:裝入過程簡單。不需任何地址變換,程序中的邏輯地址與實際內存物理地址完全相同。

缺點:過于依賴硬件結構, 只適用早期針對硬件直接編程、單道環境下。

②靜態可重定位裝入

優點:不需硬件支持,可以裝入有限的多道程序

缺點:軟件裝入一次完成,一個程序通常需要占用連續的內存空間,程序裝入內存后不能移動。也不易實現共享。

③動態運行時(重定位)裝入方式

實現時一般依靠硬件地址變換機構——一個重定位寄存器。

程序裝入內存時,可多次重定位到不同位置。且可以不立即把裝入模塊中的相對地址轉換為絕對地址,而是把這種地址轉換推遲到程序真正要執行時才進行。

更適用于部分裝入

(3)不同的程序鏈接方式

①靜態鏈接:裝入運行前將多個目標模塊及所需庫函數鏈接成一個整體,以后不再拆開。

②裝入時動態鏈接:裝入內存時,邊裝入邊鏈接的鏈接方式。

③運行時動態鏈接:對某些目標模塊的鏈接,在執行中需要該目標模塊時,才對它進行鏈接。


2 連續分配存儲管理方式

1)單一連續分配

最簡單的一種存儲管理方式,只能用于單用戶、單任務的操作系統中。

優點:易于管理。

缺點:對要求內存空間少的程序,造成內存浪費;程序全部裝入,很少使用的程序部分也占用內存。

2)固定分區分配

提高:支持多個程序并發執行,適用于多道程序系統和分時系統。最早的多道程序存儲管理方式。

劃分為幾個分區,便只允許幾道作業并發

具體實現:

(1)如何劃分分區大小

分區大小相等:只適合多個相同程序的并發執行

分區大小不等:根據程序的大小分配當前空間的、適當大小的分區

(2)需要的數據結構

建立一記錄相關信息的分區表(或分區鏈表),表項有:

| 起始位置 | 大小 | 狀態 |

分區表中,表項值隨著內存的分配和釋放而動態改變

(3)程序分配內存的過程

3)動態分區分配

優點:并發進程數沒有固定數的限制,不產生內碎片。

缺點:有外碎片(分區間無法利用的空間)

具體實現:

(1)分區分配中的數據結構

空閑分區表

空閑分區鏈

(2)分區分配算法

①首次適應算法FF

②循環首次適應算法

③最佳適應算法

④最差適應算法

⑤快速適應算法

(3)分區分配操作

分配內存

回收內存

4)動態重定位分區分配

地址變換過程是在程序執行過程期間(相對地址與重定位寄存器中的地址相加),隨著對每條指令的訪問自動進行,稱為動態重定位。

?動態重定位分區分配算法與動態分區分配算法基本相同,差別在于增加了緊湊的功能。

5)內存空間管理之對換

(1)按對換單位分類:

整體對換(或進程對換):以整個進程為單位(連續分配)

頁面對換或分段對換:以頁或段為單位(離散分配)

(2)實現進程對換,系統必須具備的功能:

對換空間的管理

進程的換出、換入操作


3.分頁存儲管理方式

1)頁面的概念

內存劃分成多個小單元,每個單元K大小,稱(物理)塊。作業也按K單位大小劃分成片,稱為頁面。

(1)物理劃分塊的大小 = 邏輯劃分的頁的大小

(2)頁面大小要適中

2)頁表的概念

為了找到被離散分配到內存中的作業,記錄每個作業各頁映射到哪個物理塊,形成的頁面映射表,簡稱頁表。

(1)頁表的作用:

頁號到物理塊號的地址映射

(2)要找到作業A

?關鍵是找到頁表(PCB)

?根據頁表找物理塊

3)地址的處理

連續方式:

連續方式下,每條指令用基地址+偏移量即可找到其物理存放的地址。

分頁方式:

作業相對地址在分頁下不同位置的數有一定的意義結構:

頁號+頁內地址(即頁內偏移)

關鍵的計算是:根據系統頁面大小找到不同意義二進制位的分界線。

從地址中分析出頁號后,地址映射只需要把頁號改為對應物理塊號,偏移不變,即可找到內存中實際位置。

計算方法:

4)地址變換機構

訪問內存的有效時間:

進程發出邏輯地址的訪問請求,經過地址變換,到內存中找到對應的實際物理地址單元并取出數據,所需花費的總時間,稱為內存的有效訪問時間EAT

設訪問一次內存時間為t,則基本分頁機制下EAT=2t

CPU操作一條指令需訪問內存兩次:

1.訪問內存中的頁表(以計算指令所在的實際物理地址)

2.訪問指令內存地址

5)快表

快表放什么?:

正在執行進程的頁表的數據項。

6)多級頁表

(1)兩級頁表:

(2)多級頁表

(3)反置頁表

站在物理塊的角度,記錄占用它的已調入內存的進程標識和頁號。系統中只需一張該表即可。


4. 分段存儲管理方式

1)分段系統的基本原理

分段下的相對地址:

地址結構:段號 + 段內地址

段表:記錄每段實際存放的物理地址

2)段表與地址變換機構

同樣有兩次內存訪問問題

解決方法:設置聯想寄存器,用于保存最近常用的段表項。

3)分頁與分段的主要區別

(1)需求:

分頁是出于系統管理的需要,是一種信息的物理劃分單位,分段是出于用戶應用的需要,是一種邏輯單位,通常包含一組意義相對完整的信息。

一條指令或一個操作數可能會跨越兩個頁的分界處,而不會跨越兩個段的分界處。

(2)大小:

頁大小是系統固定的,而段大小則通常不固定。分段沒有內碎片,但連續存放段產生外碎片,可以通過內存緊縮來消除。相對而言分頁空間利用率高。

(3)邏輯地址:

分頁是一維的,各個模塊在鏈接時必須組織成同一個地址空間;

分段是二維的,各個模塊在鏈接時可以每個段組織成一個地址空間。

(4)其他:

通常段比頁大,因而段表比頁表短,可以縮短查找時間,提高訪問速度。分段模式下,還可針對不同類型采取不同的保護;按段為單位來進行共享

4)信息共享

分段系統的突出優點:

易于實現共享:

在分段系統中,實現共享十分容易,只需在每個進程的段表中為共享程序設置一個段表項。

比較課本圖。對同樣的共享內容的管理上,很明顯分段的空間管理更簡單。分頁的圖涉及太多的頁面劃分和地址記錄的管理。

易于實現保護:

代碼的保護和其邏輯意義有關,分頁的機械式劃分不容易實現。

5)段頁式存儲管理方式

(1)基本原理:

將用戶程序分成若干段,并為每個段賦予一個段名。

把每個段分成若干頁

地址結構包括段號、段內頁號和頁內地址三部分

(2)地址變換過程

三次訪問內存


?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,119評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,382評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,038評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,853評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,616評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,112評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,192評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,355評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,869評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,727評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,928評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,467評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,165評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,570評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,813評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,585評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,892評論 2 372

推薦閱讀更多精彩內容

  • 第四章 存儲器管理 一、單項選擇題 1、存儲管理的目的是( C )。 A.方便用戶 B.提高內存利用率 C.方便用...
    黃一倚閱讀 7,377評論 1 0
  • 1. 基礎知識 1.1、 基本概念、 功能 馮諾伊曼體系結構1、計算機處理的數據和指令一律用二進制數表示2、順序執...
    yunpiao閱讀 5,367評論 1 22
  • 存儲器管理 存儲器的層次結構 存儲器的層次結構:寄存器-高速緩存-主存-磁盤緩存-磁盤-可移動存儲介質 可執行存儲...
    顏洛濱閱讀 934評論 0 2
  • 上個周有個小朋友來找我學鋼琴,四歲半,我就讓媽媽和小朋友一起來學,剛開始講述彈琴的坐姿時,寶寶的表情有不樂意,...
    樹上的一條魚閱讀 218評論 0 1
  • 要么戰死沙場,要么狼狽返鄉,沒有夢想,何必遠方!市場不相信眼淚,執著成就夢想! ——早安.共勉
    紫毫筆閱讀 121評論 0 0