操作系統(tǒng)原理及應(yīng)用第4章內(nèi)存管理_第1頁(yè)
操作系統(tǒng)原理及應(yīng)用第4章內(nèi)存管理_第2頁(yè)
操作系統(tǒng)原理及應(yīng)用第4章內(nèi)存管理_第3頁(yè)
操作系統(tǒng)原理及應(yīng)用第4章內(nèi)存管理_第4頁(yè)
操作系統(tǒng)原理及應(yīng)用第4章內(nèi)存管理_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第 4 章 存儲(chǔ)管理課后習(xí)題解答1存儲(chǔ)管理的功能是什么?【解答】存儲(chǔ)管理的主要功能是: (1)內(nèi)存分配。內(nèi)存分配的任務(wù)是為每道作業(yè)分配一定的內(nèi)存空間。往往會(huì)出現(xiàn)多道程序?qū)?nèi)存的需求總和超過(guò)實(shí)際內(nèi)存空間,因此,制定分配策略時(shí)應(yīng)以提高內(nèi)存利用率為目標(biāo)。 (2)地址轉(zhuǎn)換映射。一個(gè)應(yīng)用程序經(jīng)編譯后形成很多目標(biāo)程序,這些目標(biāo)程序經(jīng)過(guò)連接后形成可執(zhí)行程序。需要把邏輯地址轉(zhuǎn)換成物理地址。(3)內(nèi)存保護(hù)。內(nèi)存保護(hù)的任務(wù)是確保每道用戶程序都在自己的內(nèi)存空間中運(yùn)行,互不干擾。(4)內(nèi)存擴(kuò)充。在多道程序環(huán)境中,內(nèi)存資源比較緊張,往往會(huì)出現(xiàn)多道程序?qū)?nèi)存的需求總和超過(guò)實(shí)際容量的情況。這時(shí)要進(jìn)行內(nèi)存擴(kuò)充,擴(kuò)充的方式采用

2、虛擬存儲(chǔ)器的方式進(jìn)行。2存儲(chǔ)分配的方式有幾種?【解答】存儲(chǔ)分配的方式有連續(xù)存儲(chǔ)分配和非連續(xù)的存儲(chǔ)方式兩大類。 連續(xù)的存儲(chǔ)分配的方式包括單連續(xù)存儲(chǔ)分配、固定分區(qū)分配方式、動(dòng)態(tài)分區(qū)分配方式、可重定位的分區(qū)分配方式。非連續(xù)的存儲(chǔ)分配方式包括分段存儲(chǔ)管理、分頁(yè)存儲(chǔ)管理、段頁(yè)式存儲(chǔ)管理三種方式。3什么叫虛擬存儲(chǔ)器?【解答】基于局部性的原理,作業(yè)在裝入之前,沒(méi)有必要一次性裝入內(nèi)存,僅將要運(yùn)行的部分裝入到內(nèi)存,其余的仍然放在磁盤(pán)上。當(dāng)程序要訪問(wèn)的頁(yè)沒(méi)有裝入到內(nèi)存時(shí),將它們裝入到內(nèi)存,繼續(xù)運(yùn)行。若內(nèi)存已經(jīng)滿,則將內(nèi)存中暫時(shí)不用的頁(yè)調(diào)出內(nèi)存,釋放所占的內(nèi)存空間,將要訪問(wèn)的頁(yè)調(diào)入內(nèi)存執(zhí)行。這樣就可以在較大的程序調(diào)

3、到一個(gè)較小的內(nèi)存空間上運(yùn)行。從用戶角度看,該系統(tǒng)所具有的內(nèi)存容量比實(shí)際的內(nèi)存容量要大的多,人們把這樣的存儲(chǔ)器稱為虛擬存儲(chǔ)器。 4簡(jiǎn)述目前常用的幾種分區(qū)分配方式。 【解答】目前常用的分區(qū)分配方式有分頁(yè)存儲(chǔ)管理、分段存儲(chǔ)管理、段頁(yè)式存儲(chǔ)管理、請(qǐng)求分頁(yè)式存儲(chǔ)管理、請(qǐng)求分段式存儲(chǔ)管理和請(qǐng)求段頁(yè)式存儲(chǔ)管理。5簡(jiǎn)述請(qǐng)求頁(yè)式存儲(chǔ)管理的實(shí)現(xiàn)思想?!窘獯稹空?qǐng)求分頁(yè)式存儲(chǔ)管理是建立在頁(yè)式存儲(chǔ)管理的基礎(chǔ)之上的一種存儲(chǔ)管理方式。是一種常用的虛擬存儲(chǔ)方式。它需要軟、硬件的支持。換進(jìn)和換出的基本單位是頁(yè)面。6缺頁(yè)中斷和一般中斷的區(qū)別是什么?【解答】缺頁(yè)中斷作為中斷,同樣要經(jīng)過(guò)cpu現(xiàn)場(chǎng)、分析中斷原因、轉(zhuǎn)缺頁(yè)中斷處理程序進(jìn)

4、行處理、恢復(fù)cpu現(xiàn)場(chǎng)等步驟。但缺頁(yè)中斷又是一種特殊的中斷,它與一般中斷的主要區(qū)別是: 2操作系統(tǒng)實(shí)訓(xùn)(1)在指令執(zhí)行期間產(chǎn)生和處理中斷信號(hào)。通常,cpu 都是在一條指令執(zhí)行完后去檢查是否有中斷請(qǐng)求到達(dá)。若有則去響應(yīng)中斷;否則繼續(xù)執(zhí)行下一條指令。而缺頁(yè)中斷是在指令執(zhí)行期間,發(fā)現(xiàn)所要訪問(wèn)的指令或數(shù)據(jù)不在內(nèi)存時(shí)產(chǎn)生和處理的。(2)一條指令在執(zhí)行期間可能產(chǎn)生多次缺頁(yè)中斷。例如,對(duì)于一條讀取數(shù)據(jù)的多字節(jié)指令,指令本身跨越兩個(gè)頁(yè)面,假定指令后一部分所在頁(yè)面和數(shù)據(jù)所在的頁(yè)面均不在內(nèi)存,則該指令的執(zhí)行至少產(chǎn)生兩次缺頁(yè)中斷。7已知頁(yè)面走向?yàn)?、2、1、3、1、 2、4、2、1、3、4,且開(kāi)始執(zhí)行時(shí)主存中沒(méi)有頁(yè)

5、面。若只給該作業(yè)分配兩個(gè)物理塊,當(dāng)采用fifo 頁(yè)面淘汰算法時(shí)缺頁(yè)率為多少?假定現(xiàn)在有一種淘汰算法,該算法淘汰頁(yè)面的策略為當(dāng)需要淘汰頁(yè)面時(shí),就把剛使用過(guò)的頁(yè)面作為淘汰對(duì)象,試問(wèn)相同的頁(yè)面走向,其缺頁(yè)率又為多少?【解答】在進(jìn)行內(nèi)存訪問(wèn)時(shí),若訪問(wèn)的頁(yè)以在主存,則稱此次訪問(wèn)成功。若訪問(wèn)的頁(yè)不在主存,則稱此次訪問(wèn)失敗。并產(chǎn)生缺頁(yè)中斷。若程序p 在運(yùn)行過(guò)程中訪問(wèn)頁(yè)面的總次數(shù)為 s,其中產(chǎn)生缺頁(yè)中斷的訪問(wèn)次數(shù)為f,則其缺頁(yè)率為f/s. 采用 fifo 淘汰算法的頁(yè)面置換的情況如表4-1 所示:從上面的頁(yè)面置換圖可以看出,頁(yè)面引用的次數(shù)為11 次,缺頁(yè)次數(shù)為9 次,所以缺頁(yè)率為 9/11。若采用后一種頁(yè)面淘

6、汰策略,其頁(yè)面置換的情況為:頁(yè)面走向1 2 1 3 1 2 4 2 1 3 4 物理塊 1 1 1 3 1 1 1 3 4 物理塊 2 2 2 2 4 2 2 2 缺頁(yè)缺缺缺缺缺缺缺缺缺從上面的頁(yè)面置換算法可以看出:頁(yè)面引用次數(shù)為11 次,缺頁(yè)次數(shù)為8 次,所以缺頁(yè)率為 8/11。8表給出了某系統(tǒng)中的空閑分區(qū)表,系統(tǒng)采用可變分區(qū)存儲(chǔ)管理策略?,F(xiàn)有以下的作業(yè)序列: 96k、20k 、200k 。若用首次適應(yīng)算法和最佳適應(yīng)算法來(lái)處理這些作業(yè)序列,試問(wèn)哪一種算法可以滿足該作業(yè)序列的要求?為什么?分區(qū)號(hào)大小起始地址1 32k 100k 2 10k 150k 頁(yè)面走向1 2 1 3 1 2 4 2 1

7、3 4 物理塊 1 1 1 3 3 2 2 1 1 4 物理塊 2 2 2 1 1 4 4 3 3 缺頁(yè)缺缺缺缺缺缺缺缺缺表 4-1 表 4-2 表 4-3 第 4章 內(nèi)存管理習(xí)題解答 3 3 5k 200k 4 218k 220k 5 96k 530k 【解答】首次適應(yīng)算法要求空閑分區(qū)按地址遞增的次序排列,在進(jìn)行內(nèi)存分配時(shí),總是從空閑分區(qū)表首開(kāi)始順序查找,直到找到第一個(gè)能滿足大小要求的空閑分區(qū)為止。然后再按作業(yè)大小,從該分區(qū)劃出一塊內(nèi)存空間分配給請(qǐng)求者。余下的空閑分區(qū)仍然留在空閑分區(qū)表中。最佳適應(yīng)算法要求空閑分區(qū)按大小遞增的次序排列。在進(jìn)行內(nèi)存分配時(shí),總是從空閑分區(qū)首開(kāi)始順序查尋,直到找到第

8、一個(gè)能滿足其大小的空閑分區(qū)為止。如果該空閑分區(qū)大于作業(yè)的大小,則與首次適應(yīng)算法相同,將剩余空閑區(qū)仍留在空閑分區(qū)表中。若采用最佳適用算法,在申請(qǐng)96k 存儲(chǔ)區(qū)時(shí),選中的是5 號(hào)分區(qū), 5 號(hào)分區(qū)大小與申請(qǐng)空間大小一致,應(yīng)從空閑分區(qū)表中刪去該表項(xiàng);接著申請(qǐng)20k 時(shí),選中1 號(hào)分區(qū),分配后 2 號(hào)分區(qū)還剩12k;最后申請(qǐng)200k,選中 4 號(hào)分區(qū),分配后剩18k。顯然采用最佳適應(yīng)算法進(jìn)行內(nèi)存分配,可以滿足該作業(yè)序列的需求。為作業(yè)序列分配了內(nèi)存空間后,空閑分區(qū)表如表4-4 所示。分區(qū)號(hào)大小起始地址1 12k 100k 2 10k 150k 3 5k 200k 4 18k 220k 分區(qū)號(hào)大小起始地址

9、1 12k 100k 2 10k 150k 3 5k 200k 4 122k 220k 5 96k 530k 9.在某系統(tǒng)中,采用固定分區(qū)分配管理方式中,內(nèi)存分區(qū)(單位字節(jié))情況如下圖所示?,F(xiàn)有大小為1k, 9k,33k ,121k 的多個(gè)作業(yè)要求進(jìn)入內(nèi)存,試畫(huà)出它們進(jìn)入內(nèi)存后的空間分配情況,并說(shuō)明主存浪費(fèi)多大?【解答】該題有四個(gè)分區(qū),第一分區(qū)大小為8k,第二分區(qū)大小為32k, 第三分區(qū)大小為120k, 第四分區(qū)大小為332k. 該作業(yè)進(jìn)入系統(tǒng)后的內(nèi)存分配情況如下面的圖形所示。 表 4-5 表 4-4 4操作系統(tǒng)實(shí)訓(xùn)從圖中可以看出,作業(yè)進(jìn)入系統(tǒng)后,第一分區(qū)剩余空間為7k,第二分區(qū)剩余空間為23

10、k,第三個(gè)分區(qū)剩余空間為87k,第四個(gè)分區(qū)剩余空間為211k,主存空間浪費(fèi)328k。10有一個(gè)分頁(yè)存儲(chǔ)管理系統(tǒng),頁(yè)面大小為每頁(yè)100 字節(jié)。有一個(gè)5050 的整型數(shù)組,按行連續(xù)存放,每個(gè)整數(shù)占兩個(gè)字節(jié),將數(shù)組初始化為0 的程序描述如下: int a5050; int i,j; for(i=0;i=49;i+) for(j=0;j=49;j+) aij=0; 若在程序執(zhí)行時(shí)內(nèi)存中只有一個(gè)存儲(chǔ)塊來(lái)存放數(shù)組信息,試問(wèn)該程序執(zhí)行時(shí)產(chǎn)生多少次缺頁(yè)中斷?【解答】由題目可知,該數(shù)組中有2500 個(gè)整數(shù),每個(gè)整數(shù)占2 個(gè)字節(jié),共需要存儲(chǔ)空間 5000 個(gè)字節(jié);而頁(yè)面大小每頁(yè)100 字節(jié),數(shù)組占用空間50 頁(yè)。

11、假設(shè)數(shù)組從該作業(yè)的第 m 頁(yè)開(kāi)始存放,則數(shù)組分布在第m頁(yè)到第 m+49 頁(yè)中,它在主存中的排列順序?yàn)椋篴00, a01, a049 第 m頁(yè)a10, a11, a149 第 m+1 頁(yè) a490, a491, a4949 第 m+49 頁(yè)由于該初始化程序是按行進(jìn)行的,因此每次缺頁(yè)中斷調(diào)進(jìn)一頁(yè)后,位于該頁(yè)內(nèi)的數(shù)組元素全部賦予0 值,然后再調(diào)入下一頁(yè),所以涉及的頁(yè)面走向?yàn)閙,m+1,m+49, 故缺頁(yè)次數(shù)為 50 次。11試述分頁(yè)系統(tǒng)和分段系統(tǒng)的主要區(qū)別?!窘獯稹糠猪?yè)和分段有許多相似之處,比如兩者都不要求作業(yè)連續(xù)存放。但在概念上兩者完全不同,主要區(qū)別有以下幾個(gè)方式:操作系統(tǒng)1k 的作業(yè)9k 的作業(yè)

12、33k 的作業(yè)121k 的作業(yè)第一分區(qū)512k-1 第二分區(qū)第三分區(qū)第四分區(qū)操作系統(tǒng)512k-1 第一分區(qū)第二分區(qū)第三分區(qū)第四分區(qū)圖 4-1 圖 4-2 第 4章 內(nèi)存管理習(xí)題解答 5 (1)頁(yè)是信息的物理單位,分頁(yè)是為了實(shí)現(xiàn)非連續(xù)分配,以便解決內(nèi)存碎片的問(wèn)題?;蛘哒f(shuō)分頁(yè)是由于系統(tǒng)管理的需要。段是信息的邏輯單位,它含有一組意義相對(duì)完整的信息。分段的目的是為了更好的實(shí)現(xiàn)共享。滿足用戶的需要。(2)頁(yè)的大小固定且系統(tǒng)確定,將邏輯地址劃分為頁(yè)號(hào)和頁(yè)內(nèi)地址是由機(jī)器硬件實(shí)現(xiàn)的。而段的長(zhǎng)度卻不固定,決定于用戶所編寫(xiě)的程序,通常由編譯程序在對(duì)源程序進(jìn)行編譯時(shí)根據(jù)信息的性質(zhì)來(lái)劃分。(3)分頁(yè)的作業(yè)地址空間是一

13、維的。分段的地址空間是二維的。12設(shè)有一頁(yè)式存儲(chǔ)管理系統(tǒng),向用戶提供的邏輯地址空間最大為16 頁(yè),每頁(yè)2048字節(jié),內(nèi)存總共有8 個(gè)存儲(chǔ)塊,試問(wèn)邏輯地址至少應(yīng)為多少位??jī)?nèi)存空間多大?【解答】在頁(yè)式存儲(chǔ)管理中,用戶作業(yè)的地址空間被劃分成若干大小相等的區(qū)域,稱為頁(yè)或頁(yè)面。相應(yīng)的,將主存的存儲(chǔ)空間也分成與頁(yè)大小相等的區(qū)域稱為塊或物理塊。在為作業(yè)分配存儲(chǔ)空間時(shí),總是以塊為單位來(lái)分配,可以將作業(yè)中的任意一頁(yè)放到主存的任意一塊中,頁(yè)式存儲(chǔ)管理系統(tǒng)中的邏輯地址結(jié)構(gòu)為:在本題中,每頁(yè)2048 字節(jié),所以頁(yè)內(nèi)位移部分地址需要占據(jù)11 個(gè)二進(jìn)制位。邏輯地址空間最大的為16 頁(yè),所以頁(yè)號(hào)部分地址需要占據(jù)4 個(gè)二進(jìn)制

14、位。故邏輯地址空間至少應(yīng)為 15 位。由于內(nèi)存共有8 個(gè)存儲(chǔ)塊,在頁(yè)式存儲(chǔ)管理系統(tǒng)中,存儲(chǔ)塊大小與頁(yè)面的大小相等,因此內(nèi)存空間為16k。13有一段式存儲(chǔ)管理系統(tǒng),其段表如表4-6 所示。試求如表4-7 所示邏輯地址的物理地址是多少?段號(hào)段內(nèi)位移0 430 1 10 2 500 3 400 4 112 5 32 段號(hào)內(nèi)存起始地址段長(zhǎng)0 210 500 1 2350 20 2 100 90 3 1350 590 4 1938 95 頁(yè)號(hào) p 頁(yè)內(nèi)位移 w 表 4-6 表 4-7 6操作系統(tǒng)實(shí)訓(xùn)【解答】在段式存儲(chǔ)管理中,為了實(shí)現(xiàn)從邏輯地址到物理地址的轉(zhuǎn)換,系統(tǒng)將邏輯地址中的段號(hào)與段表長(zhǎng)度進(jìn)行比較,若

15、段號(hào)超過(guò)了段表長(zhǎng)度,則表示段號(hào)太長(zhǎng),于是產(chǎn)生越界中斷信號(hào);若未越界,則根據(jù)段表始址和段號(hào)計(jì)算出該段對(duì)應(yīng)段表項(xiàng)的位置,從中讀出該段在內(nèi)存的起始地址,然后,再檢查段內(nèi)地址是否超過(guò)該段的段長(zhǎng)。若超過(guò)則同樣發(fā)出越界中斷信號(hào);若未越界,則將該段的起始地址與段內(nèi)位移相加,從而得到要訪問(wèn)的物理地址。(1)由于第0 段的內(nèi)存始址為210,段長(zhǎng)為500,故邏輯地址 0,430是合法地址。邏輯地址 0,430對(duì)應(yīng)的物理地址為210+430=640 (2)由于第1 段的內(nèi)存始制址為2350,段長(zhǎng)為20,故邏輯地址 1,10是合法地址。邏輯地址 1,10對(duì)應(yīng)的物理地址為2350+10=2360 (3)由于第2 段起始

16、地址為100,段長(zhǎng)為90,所給邏輯地址2,500非法。(4)由于第3 段的內(nèi)存始址為1350,段長(zhǎng)為590,故邏輯地址 3,400是合法地址。邏輯地址 3,400對(duì)應(yīng)的物理地址為1350+400=1750。(5)由于第4 段的內(nèi)存始址為1938,段長(zhǎng)為95,所給邏輯地址4,112非法。(6)由于系統(tǒng)中不存在第5 段,所給的邏輯地址5,32非法。14在一個(gè)請(qǐng)求分頁(yè)系統(tǒng)中,采用最近最久未使用頁(yè)面置換算法時(shí),假如一個(gè)作業(yè)的頁(yè)面走向?yàn)?,3,2,1, 4,3,5,4,3,2,1, 5,當(dāng)分配給該作業(yè)的物理塊數(shù)分別為3和 4 時(shí),試計(jì)算訪問(wèn)過(guò)程中所發(fā)生的缺頁(yè)次數(shù)和缺頁(yè)率,比較所得到的結(jié)果。【解答】下面的表格就是物理塊數(shù)為3 和 4 的情況。 頁(yè)面走向4 3 2 1 4 3 5 4 3 2 1 5 塊 1 4 4 4 1 1 1 5 2 2 2 塊 2 3 3 3 4 4 4 4 1 1 塊 3 2 2 2 3 3 3 3 5 缺頁(yè)缺缺缺缺缺缺缺缺缺缺頁(yè)面走向4 3 2 1 4 3 5 4 3 2 1 5 塊 1 4 4 4 4 4 4 4 5 塊 2 3 3 3 3 3 3 3 塊 3 2 2 5 5 1 1 塊 4 1 1 2 2 2 缺頁(yè)缺缺缺缺缺缺缺缺【解答】在分配該該作業(yè)的物理塊數(shù)為3 時(shí),所發(fā)生的缺頁(yè)次數(shù)為10,缺頁(yè)率為:10/12=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論