OS存儲器管理相關練習

OS存儲器管理相關練習


選擇題

1、 靜態重定位是在作業(2)中進行,而動態重定位是在作業(4)中進行。
(1) 編譯過程 (2)裝入過程 (3)修改過程 (4)執行過程

2、 由連續分配方式發展到分頁存儲管理方式的主要動力是(1);由分頁系統發展到分段系統,進而發展到段頁式系統的主要動力是(4)和(5)
(1) 提高內存利用率 (2)提高系統吞吐量 (3)滿足用戶需要(4)更好地滿足多道程序運行的需要 (5)既滿足用戶要求,又提高內存利用率

3、 首次適應算法中,要求空閒區按(1)的順序形成空閒分區鏈;最佳適應算法中,需要按照(3)順序形成空閒分區鏈;最壞適應算法是(4)的順序形成空閒鏈。
(1)空閒區的起始地址遞增 (2)空閒區起始地址遞減
(3)空閒區大小遞增 (4)空閒區大小遞減

4、 對外存交換區的管理應以(4)爲主要目標,外存文件區的管理應以(2)爲主要目標。
(1) 提供系統吞吐量 (2)提供存儲空間的利用率 (3)降低存儲費用 (4)提供換入換出速度

5、 虛擬存儲器管理系統的基礎是程序的局部性原理,那麼,局部性理論的基本含義是(程序在執行過程中一個較短時期,所執行的指令地址和指令操作數地址分別侷限於一定區域),局部性有兩種表現形式,分別是(時間局部性)和(空間局部性)。

6、 一個計算機系統中,虛擬存儲器的最大容量是由(5)確定的,其實際容量是由(4)確定的。
(1) 計算機字長 (2)內存容量 (3)硬盤容量 (4)內存和硬盤交換區容量之和 (5)計算機的地址結構

7、 在請求調頁系統中,內存分配有兩種策略:(3)和(4),(3)的缺點是可能導致頻繁地出現缺頁中斷而造成cpu利用率下降。
(1)首次適應 (2)最佳適應 (3)固定分配 (4)可變分配

8、請求調頁系統中有多種置換算法:選擇最先進入內存的頁面淘汰的算法稱爲(1);選擇以後不再使用的頁面予以淘汰的算法稱爲(2);選擇自上次訪問以來所經歷時間最長的頁面予以淘汰的算法稱爲(5);選擇自某個時刻開始以來,訪問次數最少的頁面予以淘汰的算法稱爲(3);
(1) FIFO (2)OPT (3)LRU (5)LFU

9、  在保護機構中,操作系統應該處於(1)內,一般應用程序應該處於(2)內,並遵循下面的規則:一個程序可以訪問駐留在(5)中的數據;一個程序可以調用駐留在(4)中的服務。
(1)最高特權 (2)最低特權 (3)相同特權 (4)相同特權和高特權 (5)相同特權和低特權

10 .虛擬存儲系統中,完成地址轉換工作的是_A___。
A.硬件 B.地址轉換程序
C.裝入程序 D.裝入程序和地址轉換程序
11. 在可變式分區分配方案中,某一作業完成後,系統收回其主存空間,並與相鄰空閒區合併,爲此需修改空閒區表,造成空閒區數減1的情況是 (1D) ;若釋放的空閒區有上或下鄰空閒區,則釋放的空閒區數(2A) 。
(1)A.無上鄰空閒區,也無下鄰空閒區
  B.有上鄰空閒區,但無下鄰空閒區
  C.有下鄰空閒區,但無上鄰空閒區
  D.有上鄰空閒區,也有下鄰空閒區
(2) A.保持不變 B.減1 C. 加1 D.置零
12.  段表如下:

段號 基址 長度
0 1300 390
1 400 780
2 2900 1000
3 230 30

邏輯地址[1, 282]的物理地址是 (1B) ;
邏輯地址[2, 1003]的物理地址是 (2D) ;
邏輯地址[3, 28]的物理地址是 (3C) 。
(1) A. 400   B. 682   C. 282   D. 溢出
(2) A. 2900   B. 1003   C. 3903   D. 溢出
(3) A. 230   B. 30   C. 258   D. 溢出

13. 在請求分頁管理中,若採用先進先出(FIFO)頁面置換算法,可能會產生“FIFO異常”, “FIFO異常”指的是 B 。
A. 頻繁地出頁入頁的現象
B. 分配的頁面數增加,缺頁中斷的次數也可能增加
C. 進程交換的信息量過大導致系統工作區不足
D. 分配給進程的內存空間不足使進程無法正常工作
簡答題
.爲什麼要配置層次式存儲器?

答:設置多個存儲器可以使存儲器兩端的硬件能並行工作;採用多級存儲系統,特別是Cache 技術,是減輕存儲器帶寬對系統性能影響的最佳結構方案;在微處理機內部設置各種緩衝存儲器,減輕對存儲器存取的壓力。增加CPU中寄存器數量大大緩解對存儲器壓力。

2.可採用哪幾種方式將程序裝入內存?它們分別適用於何種場合?

答: (1)絕對裝入方式,只適用於單道程序環境。(2)可重定位裝入方式,適用於多道程序環境。(3)動態運行時裝入方式,用於多道程序環境;不允許程序運行時在內存中移位置。

3.何謂靜態鏈接?何謂裝入時動態鏈接和運行時的動態鏈接?P120

答:靜態鏈接是指在程序運行前,先將各目標模塊及它們所需的庫函數,鏈接成一個完整的裝配模塊,以後不再拆開的鏈接方式。裝入時動態鏈接是指將用戶源程序編譯後得到的一組目標模塊,在裝入內存時採用邊裝入邊鏈接的鏈接方式。運行時動態鏈接是指對某些目標模塊的鏈接,是在程序執行中需要該目標模塊時,纔對它進行的鏈接。

4.在進行程序鏈接時,應完成哪些工作?

答:由鏈接程序Linker將編譯後形成的一組目標模塊,以及它們需要的庫函數鏈接在一起,形成一個完整的裝入模塊Load Module。主要工作是修改程序內的相對地址和修改目標程序中的外部調用標號。

5.在動態分區分配方式中,應如何將各空閒分區鏈接成空閒分區鏈?

答:在每個分區的起始部分,設置一些控制分區分配的信息,以及用於鏈接各分區所用的前向指針;在分區尾部設置一個後向指針,通過前後向鏈接指針,將所有空閒分區鏈成一個雙向鏈。當分區分配出去後,把狀態位由“0”改爲“1”。

6.爲什麼要引入動態重定位?如何實現?

答:在程序執行過程中,每當訪問指令或數據時,將要訪問的程序或數據的邏輯地址轉換成物理地址,引入了動態重定位;具體實現方法是在系統中增加一個重定位寄存器,用來裝入程序在內存中的起始地址,程序執行時,真正訪問的內存地址是相對地址與重定位寄存器中的地址相加之和,從而實現動態重定位。

7.在採用首次適應算法回收內存時,可能出現哪幾種情況?應怎樣處理這些情況?

答:在採用首次適應算法回收內存時可能出現4種情況:(1)回收區前鄰空閒區。將回收區與前鄰空閒區合併,將前鄰空閒區大小修改爲兩者之和。(2)回收區後鄰空閒區。將兩區合併,改後鄰空閒區始址爲回收區始址,大小爲兩者之和。(3)回收區前後均鄰空閒區。將三個分區合併,修改前鄰空閒區大小爲三者之和。(4)回收區前後均不鄰空閒區。爲回收區設置空閒區表項,填入回收區始址和大小並插入

空閒區隊列。

8.令表示大小爲、地址爲x 的塊的夥伴系統地址,試寫出的通用表達式。

答:當時,;當 時,

9.分區存儲管理中常用那些分配策略?比較它們的優缺點。

答:分區存儲管理中的常用分配策略:首次適應算法、循環首次適應算法、最佳適應算法、最壞適應算法。

首次適應算法優缺點:保留了高址部分的大空閒區,有利於後來的大型作業分配;低址部分不斷被劃分,留下許多難以利用的小空閒區,每次查找都從低址開始增加了系統開銷。

循環首次適應算法優缺點:內存空閒分區分佈均勻,減少了查找系統開銷;缺乏大空閒分區,導致不能裝入大型作業。

最佳適應算法優缺點:每次分配給文件的都是最適合該文件大小的分區,內存中留下許多難以利用的小空閒區。

最壞適應算法優缺點:剩下空閒區不太小,產生碎片機率小,對中小型文件分配分區操作有利;存儲器中缺乏大空閒區,對大型文件分區分配不利。

10.在系統中引入對換後可帶來哪些好處?

答:交換技術將暫不需要的作業移到外存,讓出內存空間以調入其它作業,交換到外存的作業也可以被再次調入。目的是解決內存緊張問題,帶來的好處是進一步提高了內存利用率和系統吞吐量。

11.爲實現對換,系統應具備哪幾方面的功能?

答:系統應具備三方面功能:對換空間管理,進程換出,進程換入。

12.在以進程爲單位進行對換時,每次是否都將整個進程換出?爲什麼?

答:在以進程爲單位進行對換時,並非每次都將整個進程換出。這是因爲:(1)從結構上講,進程由程序段、數據段和進程控制塊組成的,其中進程控制塊總有部分或全部常駐內存,不被換出。(2)程序段和數據段可能正被若干進程共享,此時它們也不能換出。

13.爲實現分頁存儲管理,需要哪些硬件的支持?

答:動態重定位技術、虛擬存儲技術、多道程序設計技術。

14.較詳細的說明引入分段存儲管理是爲了滿足用戶哪幾方面的需要。

答:1) 方便編程。用戶通常把自己的作業按照邏輯關係劃分爲若干段,每段都從0 編址,並有自己名字和長度。因此,希望要訪問的邏輯地址是由段名和段內偏移量決定。2) 信息共享。在實現對程序和數據的共享時,是以信息邏輯單位爲基礎。分頁系統中的頁是存放信息的物理單位,無完整意義,不便於共享;段是信息的邏輯單位。爲了實現段的共享,希望存儲管理能與用戶程序分段的組織方式相適應。3) 信息保護。對信息的邏輯單位進行保護,分段能更有效方便地實現信息保護功能。4) 動態增長。在實際應用中,有些段特別是數據段,在使用過程中會不斷增長,事先又無法確切知道增長多少。分段存儲管理方式能較好解決這個問題。5) 動態鏈接。運行時先將主程序對應的目標程序裝入內存並啓動運行,運行過程中又需要

調用某段時,纔將該段調入內存鏈接。所以動態鏈接也要求以段作爲管理單位。

15.在具有快表的段頁式存儲管理方式中,如何實現地址變換?

答:在CPU給出有效地址後,由地址變換機構自動將頁號P送入高速緩衝寄存器,並將此頁號與高速緩存中的所有頁號比較,若找到匹配頁號,表示要訪問的頁表項在快表中。可直接從快表讀出該頁對應物理塊號,送到物理地址寄存器中。如快表中沒有對應頁表項,則再訪問內存頁表,找到後,把從頁表項中讀出物理塊號送地址寄存器;同時修改快表,將此頁表項存入快表。但若寄存器已滿,則OS必須找到合適的頁表項換出。

16.爲什麼說爲什麼說分段系統比分頁系統更易於實現信息的共享和保護?

答:分頁系統的每個頁面是分散存儲的,爲了實現信息共享和保護,頁面之間需要一一對應,爲此需要建立大量的頁表項;而分段系統的每個段都從0 編址,並採用一段連續的地址空間,在實現共享和保護時,只需爲要共享和保護的程序設置一個段表項,將其中的基址與內存地址一一對應就能夠實現。

17.分段和分頁存儲管理有何區別?

答:(1)頁是信息的物理單位,分頁是爲了實現離散分配方式,以消減內存的外部零頭,提高內存利用率。段則是信息的邏輯單位,它含有一組相對完整的信息。(2)頁的大小固定且由系統決定,由系統把邏輯地址劃分爲頁號和頁內地址兩部分,是由機械硬件實現的,因而在系統中只能有一種大小的的頁面;而段的長度卻不固定,決定於用戶所編寫的程序,通常由編譯程序在對原程序進行編譯時,根據信息的性質來劃分。(3)分頁的作業地址空間是一維的,而分段作業地址空間則是二維的。

18.試全面比較連續分配和離散分配方式.

答:(1)連續分配是指爲一個用戶程序分配一個連續的地址空間,包括單一和分區兩種分配方式。單一方式將內存分爲系統區和用戶區,最簡單,只用於單用戶單任務操作系統;分區方式分固定和動態分區。(2)離散分配方式分爲分頁、分段和段頁式存儲管理。分頁式存儲管理旨在提高內存利用率,分段式存儲管理旨在滿足用戶(程序員)的需要,段頁式存儲管理則將兩者結合起來,具有分段系統便於實現、可共享、易於保護和動態鏈接等優點,又能像分頁系統很好解決外部碎片及爲各段可離散分配內存等問題,是比較有效的存儲管理方式;

19.虛擬存儲器有哪些特徵?其中最本質的特徵是什麼?

答:虛擬存儲器有多次性、對換性、虛擬性三大特徵。最本質的特徵是虛擬性。

20.實現虛擬存儲器需要哪些硬件支持?

答:(1)請求分頁(段)的頁(段)表機制(2)缺頁(段)中斷機構(3)地址變換機構

21.實現虛擬存儲器需要哪幾個關鍵技術?

答:(1)在分頁請求系統中是在分頁的基礎上,增加了請求調頁功能和頁面置換功能所形成的頁式虛擬存儲系統。允許只裝入少數頁面的程序(及數據),便啓動運行。(2)在請求分段系統中是在分段系統的基礎上,增加了請求調段及分段置換功能後形成的段式虛擬存儲系統。允許只裝入少數段(而非所有段)的用戶程序和數據,即可啓動運行。

22.在請求分頁系統中,頁表應包括哪些數據項?每項的作用是什麼?

答:頁表應包括:頁號、物理塊號、狀態位P、訪問字段A、修改位M和外存地址。其中狀態位P 指示該頁是否調入內存,供程序訪問時參考;訪問字段A 用於記錄本頁在一段時間內被訪問的次數,或最近已有多長時間未被訪問,提供給置換算法選擇換出頁面時參考;修改位M 表示該頁在調入內存後是否被修改過;外存地址用於指出該頁在外存上的地址,通常是物理塊號,供調入該頁時使用。

23.在請求分頁系統中,應從何處將所需頁面調入內存?

答:請求分頁系統中的缺頁從何處調入內存分三種情況:(1)系統擁有足夠對換區空間時,可以全部從對換區調入所需頁面,提高調頁速度。在進程運行前將與該進程有關的文件從文件區拷貝到對換區。(2)系統缺少足夠對換區空間時,不被修改的文件直接從文件區調入;當換出這些頁面時,未被修改的不必換出,再調入時,仍從文件區直接調入。對於可能修改的,在換出時便調到對換區,以後需要時再從對換區調入。(3)UNIX 方式。未運行頁面從文件區調入。曾經運行過但被換出頁面,下次從對換區調入。UNIX 系統允許頁面共享,某進程請求的頁面有可能已調入內存,直接使用不再調入。

24.在請求分頁系統中,常採用哪幾種頁面置換算法?

答:採用的頁面置換算法有:最佳置換算法和先進先出置換算法,最近最久未使用(LRU)置換算法,Clock置換算法,最少使用置換算法,頁面緩衝算法等。

25.在請求分頁系統中,通常採用哪種頁面分配方式?爲什麼?

答:固定分配方式是基於進程的類型(交互型)或根據程序員、系統管理員的建議,爲每個進程分配固定頁數的內存空間,整個運行期間不再改變;採用可變分配方式有全局置換和局部置換兩種,前者易於實現,後者效率高。

26.在一個請求分頁系統中,採用LRU 頁面置換算法時,假如一個作業的頁面走向爲 4 , 3 , 2 ,1 , 4 , 3 , 5 , 4 ,3 , 2 , 1 ,5 ,當分配給該作業的物理塊數M分別爲3和4時,試計算訪問過程中所發生的缺頁次數和缺頁率 ? 比較所得結果 ?(參考答案有錯)

答:當分配給該作業的物理塊數M爲3時,缺頁7次,缺頁率: 7/12=0.583;

當分配給該作業的物理塊數M爲4時,缺頁4次,缺頁率: 4/12=0.333.

-------以上解答出錯。正確解法見下面:

答:當分配給該作業的物理塊數M爲3時,缺頁9次,缺頁率: 9/12=3/4;

當分配給該作業的物理塊數M爲4時,缺頁10次,缺頁率: 10/12=5/6.

27.實現LRU算法所需的硬件支持是什麼?

答:需要寄存器和棧等硬件支持。寄存器用於記錄某進程在內存中各頁的使用情況,棧用於保存當前使用的各個頁面的頁面號。

28.試說明改進型 Clock 置換算法的基本原理.

答:因爲修改過的頁面在換出時付出的開銷比未被修改過的頁面大,在改進型Clock 算法中,既考慮頁面的使用情況,還要增加置換代價的因素;在選擇頁面作爲淘汰頁面時,把同時滿足未使用過和未被修改作爲首選淘汰頁面。

29.說明請求分段系統中的缺頁中斷處理過程。

答:請求分段系統中的缺頁中斷處理過程描述如下:(1)根據當前執行指令中的邏輯地址查頁表,判斷該頁是否在主存儲器中(2)該頁標誌爲“0”形成缺頁中斷,中斷裝置通過交換PSW讓操作系統的中斷處理程序佔用處理器。(3)操作系統處理缺頁中斷處理的辦法是查主存分配表找一個空閒的主存塊,查頁表找出該頁在磁盤上位置,啓動磁盤讀出該頁信息。(4)把從磁盤上讀出的信息裝入找到的主存塊中。(5)當頁面住處被裝入主存後,應修改頁表中對應的表目,填上該頁所佔用的主存塊把標誌置爲“1”,表示該頁已在主存儲器中(6)由於產生缺頁中斷時的那條指令並沒執行完,所以在把頁面裝入之後應重新執行被中斷指令。請求分段系統中的缺頁中斷處理過程如下圖所示:
在這裏插入圖片描述
30.如何實現分段共享 ?

答:在每個進程的段表中,用相應的表項指向共享段在內存中起始地址;配置相應的數據結構作爲共享段表,在段表項中設置共享進程計數Count ,每調用一次該共享段,Count值增 1,每當進程釋放一個共享段時,Count 減1,若減爲0,則系統回收該共享段的物理內存,取消在共享段表中該段對應的表項;共享段應給不同的進程以不同的存取權限;不同的進程可以使用不同的段號去共享該段。

1. 常規存儲器管理方式具有哪兩大特徵?它對系統性能有何影響?
答:一次性:進程必須全部裝入內存,對空間浪費非常大;
  駐留性:在程序運行過程中,進程全部駐留在內存,暫時不用的數據無法釋放。
2. 什麼是程序運行時的時間侷限性和空間侷限性?
答:(1) 時間侷限性:如果程序中的某條指令一旦執行,則不久的將來該指令可能再次被執行;如果某個存儲單元被訪問,則不久的將來該存儲單元可能再次被訪問。產生時間侷限性的典型原因是在程序中存在着大量的循環操作。
(2)空間侷限性:一旦程序訪問了某個存儲單元,則在不久的將來,其附近的存儲單元也最有可能被訪問,即程序在一段時間內所訪問的地址,可能集中在一定的範圍內。產生空間侷限性的典型原因是程序是順序執行的。
3 .虛擬存儲器有哪些特徵?其中最本質的特徵是什麼?
答:虛擬存儲器有多次性、對換性、虛擬性三大特徵。最本質的特徵是虛擬性。
4. 實現虛擬存儲器需要哪些硬件支持?
答:a. 請求分頁(段)的頁(段)表機制

b. 缺頁(段)中斷機構

c. 地址變換機構

5 .實現虛擬存儲器需要哪幾個關鍵技術?
答:(1)在分頁請求系統中是在分頁的基礎上,增加了請求調頁功能和頁面置換功能所形成的頁式虛擬存儲系統。允許只裝入少數頁面的程序(及數據),使啓動運行。

 (2)在請求分段系統中是在分段系統的基礎上,增加了請求調段及分段置換功能後形成的段式虛擬存儲系統。允許只裝入少數段(而非所有段)的用戶程序和數據,即可啓動運行。

6 .在請求分頁系統中,頁表應包括哪些數據項?每項的作用是什麼?
答:頁表應包括:頁號、物理塊號、狀態位P、訪問字段A、修改位M和外存地址。其中狀態位P指示該頁是否調入內存,供程序訪問時參考;

訪問字段A用於記錄本頁在一段時間內被訪問的次數,或最近己有多長時間未被訪問,提供給置換算法選擇換出頁面時參考;

修改位M表示該頁在調入內存後是否被修改過:

外存地址用於指出該頁在外存上的地址,通常是物理塊號,供調入該頁時使用。
7 .試比較缺頁中斷機構與一般的中斷,它們之間有何明顯的區別?
答:a. 一般中斷只需要保護現場然後就直接跳到需及時處理的地方。
  b .缺頁中斷除了保護現場之外,還要判斷內存中是否有足夠的空間存儲所需的頁或段,然後再把所需頁調進來再使用。
8. 試說明請求分頁系統中的地址變換過程。
答:1)取邏輯地址分解爲頁號P和頁內偏移w;

2)根據頁號查找頁表,獲得該頁的描述信息;

3)若該頁中斷位爲1,產生缺頁中斷;

4)更新該頁的描述信息;

5) 根據頁塊號和頁內偏移w,計算物理地址。
9 .何謂固定分配局部置換和可變分配和全局置換的內存分配策略?

答:(1)固定分配局部置換固定分配是指,爲每個進程分配一組固定數目的物理塊,在進程運行期間不再改變。
    局部置換是指,如果進程在運行中發現缺頁,則只能從分配給該進程的n個頁面中,選出一頁換出,然後再調入一頁。
  (2)可變分配全局置換可變分配是指,先爲每個進程分配一定數目的物理塊,在進程運行期間,可根據情況做適當地改變。
    全局置換是指,如果進程在運行中發現缺頁,則將0S所保留的空閒物理塊或者以所有進程的全部物理塊爲標的,選擇一塊換出,然後將所缺之頁調入。
10 .在請求分頁系統中,應從何處將所需頁面調入內存?
答:請求分頁系統中的缺頁從何處調入內存分三種情況:
  (1)系統擁有足夠對換區空間時,可以全部從對換區調入所需頁面,提高調頁速度。在進程運行前將與該進程有關的文件從文件區拷貝到對換區。
  (2)系統缺少足夠對換區空間時,不被修改的文件直接從文件區調入:當換出這些頁面時,未被修改的不必換出,再調入時,仍從文件區直接調入。對於可能修改的,在換出時便調到對換區,以後需要時再從對換區調入。
  (3)UNIX方式。未運行頁面從文件區調入。曾經運行過但被換出頁面,下次從對換區調入。UNIX系統允許頁面共享,某進程請求的頁面有可能已調入內存,直接使用不再調入。
11. 試說明在請求分頁系統中頁面的調入過程。
答:每當程序所要訪問的頁面未在內存時(存在位爲“0”),便向CPU發出一缺頁中斷,中斷處理程序首先保留CPU環境,分析中斷原因後,轉入缺頁中斷處理程序。該程序通過查找頁表,得到該頁在外存的物理塊後,如果此時內存能容納新頁,則啓動磁盤I/0,將所缺之頁調入內存,然後修改頁表。如果內存已滿,則須先按照某種置換算法,從內存中選出一頁準備換出;如果該頁未被修改過(修改位爲“0”),可不必將該頁寫回磁盤;但如果此頁已被修改(修改位爲“1”),則必須將它寫回磁盤,然後再把所缺的頁調入內存,並修改頁表中的相應表項,置其存在位爲“1”,並將此頁表項寫入快表中。
在缺頁調入內存後,利用修改後的頁表,去形成所要訪問數據的物理地址,再去訪問內存數據。整個頁面的調入過程對用戶是透明的。
12 .在請求分頁系統中,常採用哪幾種頁面置換算法?
答:採用的頁面置換算法有:最佳置換算法和先進先出置換算法,最近最久未使用(LRU)置換算法,Clock置換算法,最少使用置換算法,頁面緩衝算法等。

13 .在一個請求分頁系統中,採用FIFO頁面置換算法時,假如一個作業的頁面走向爲4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業的物理塊數M分別爲3和4時,試計算在訪問過程中所發生的缺頁次數和缺頁率,並比較所得結果。

在這裏插入圖片描述

M=3時,採用FIFO頁面置換算法的缺頁次數爲9次,缺頁率爲75%;M=4時,採用FIFO頁面置換算法的缺頁次數爲10次,缺頁率爲83%。
  由此可見,增加分配給作業的內存塊數,反而增加了缺頁次數,提高了缺頁率,這種現象被稱爲是Belady現象。
14. 實現LRU算法所需的硬件支持是什麼?
答:需要寄存器和棧等硬件支持。寄存器用於記錄某進程在內存中各頁的使用情況,棧用於保存當前使用的各個頁面的頁面號。
15 .試說明改進型Clock置換算法的基本原理.
答:因爲修改過的頁面在換出時付出的開銷比未被修改過的頁面大,在改進型Clock算法中,既考慮頁面的使用情況,還要增加置換代價的因素;在選擇頁面作爲淘汰頁面時,把同時滿足未使用過和未被修改作爲首選淘汰頁面。
16 .影響頁面換進換出效率的若干因素是什麼?
(1)頁面置換算法:影響頁面換進換出效率最重要的因素,直接影響進程在運行過程中的缺頁率,影響頁面換進換出的開銷。
(2)寫回磁盤的頻率:如果是採取每個頁面換出時,就將它寫回磁盤的策略,這意味着每換出一個頁面,便需要啓動一次磁盤。但如果在系統中建立了一個已修改換出頁面鏈表,對每一個要被換出的頁面(已修改),系統可暫不把它們寫回磁盤,而是將它們掛在已修改換出頁面鏈表上,僅當被換出頁面數目達到一定值時,再將它們一起寫回到磁盤上,這樣就顯著地減少了磁盤I/0的操作次數。或者說,減少已修改頁面換出的開銷。
(3)讀入內存的頻率:在設置了已修改換出頁面鏈表後,在該鏈表上就暫時有一批裝有數據的頁面,如果需要再次訪問這些頁面時,就不需從外存上調入,而直接從已修改換出頁面鏈表中獲取,這樣也可以減少將頁面從磁盤讀入內存的頻率,減少頁面換進的開銷。或者說,只需花費很小的開銷,便可使這些頁面,又回到該進程的駐留集中。
17 .頁面緩衝算法的主要特點是什麼?它是如何降低頁面換進換出的頻率的?
答:① 顯著地降低了頁面換進、換出的頻率,使磁盤I/0的操作次數大爲減少,因而減少了頁面換進、換出的開銷;
 ②由於換入換出的開銷大幅度減小,才能使其採用一種較簡單的置換策略,如先進先出(FIFO)算法,它不需要特殊硬件的支持,實現起來非常簡單。
在該系統中,內存分配策略上採用了可變分配和局部置換方式。爲了能顯著地降低了頁面換進、換出的頻率,在內存中設置瞭如下兩個鏈表:
  (1)空閒頁面鏈表:是一個空閒物理塊鏈表,用於分配給頻繁發生缺頁的進程,以降低該進程的缺頁率。當有一個未被修改的頁要換出時,實際上並不將它換出到外存,而是把它們所在的物理塊,掛在空閒鏈表的末尾。
  (2)修改頁面鏈表:由已修改的頁面所形成的鏈表。設置該鏈表的目的,是爲了減少已修改頁面換出的次數。降低將已修該頁面寫回磁盤的頻率,以及降低將磁盤內容讀入內存的頻率。
18 .什麼是抖動? 產生抖動的原因是什麼?
答:a. 抖動(Thrashing) 就是指當內存中已無空閒空間而又發生缺頁中斷時,需要從內存中調出一頁程序或數據送磁盤的對換區中,如果算法不適當,剛被換出的頁很快被訪問,需重新調入,因此需再選一頁調出,而此時被換出的頁很快又要被訪問,因而又需將它調入,如此頻繁更換頁面,使得系統把大部分時間用在了頁面的調進換出上,而幾乎不能完成任何有效的工作,我們稱這種現象爲"抖動"。
  b. 產生抖動的原因是由於CPU的利用率和多道程序度的對立統一矛盾關係引起的,爲了提高CPU利用率,可提高多道程序度,但單純提高多道程序度又會造成缺頁率的急劇上升,導致CPU的利用率下降,而系統的調度程序又會爲了提高CPU利用率而繼續提高多道程序度,形成惡性循環,我們稱這時的進程是處於"抖動"狀態。
19 .何謂工作集?它是基於什麼原理確定的?
答:工作集(或駐留集)是指在某段時間間隔內,進程要訪問的頁面集合。經常被使用的頁面需要在工作集中,而長期不被使用的頁面要從工作集中被丟棄。爲了防止系統出現抖動現象,需要選擇合適的工作集大小。
  工作集模型的原理是:
   讓操作系統跟蹤每個進程的工作集,併爲進程分配大於其工作集的物理塊。如果還有空閒物理塊,則可以再調一個進程到內存以增加多道程序數。
   如果所有工作集之和增加以至於超過了可用物理塊的總數,那麼操作系統會暫停一個進程,將其頁面調出並且將其物理塊分配給其他進程,防止出現抖動現象。正確選擇工作集的大小,對存儲器的利用率和系統吞吐量的提嵩,都將產生重要影響。
20 .當前可以利用哪幾種方法來防止“抖動”?
(1)採取局部置換策略(2)把工作集算法融入到處理機調度中(3)利用“L=S”準則調節缺頁率(4)選擇暫停的進程

21 .試試說明如何利用“L=S”準則來調節缺頁率,以避免“抖動”的發生?
答:P173 於1980年Denning提出了“L=S”的準則,來調節多道程序度,其中L是缺頁之間的平均時間,S是平均缺頁服務時間,即用於置換一個頁面所需的時間。利用“L=S”準則,對於調節缺頁率是十分有效的。
22 .爲了實現請求分段式存儲管理,應在系統中增加配置哪些硬件結構?
答:請求段表機制、缺段中斷機制和地址變換機構。
23 .在請求段表機制中,應設置哪些段表項?

在這裏插入圖片描述

24 .說明請求分段系統中的缺頁中斷處理過程。
答:請求分段系統中的缺頁中斷處理過程描述如下:
  (1)根據當前執行指令中的邏輯地址查頁表,判斷該頁是否在主存儲器中(2)該頁標誌爲“0”形成缺頁中斷,中斷裝置通過交換PSW讓操作系統的中斷處理程序佔用處理器。
  (3)操作系統處理缺頁中斷處理的辦法是查主存分配表找一個空閒的主存塊,查頁表找出該頁在磁盤上位置,啓動磁盤讀出該頁信息。
  (4)把從磁盤上讀出的信息裝入找到的主存塊中。
  (5)當頁面住處被裝入主存後,應修改頁表中對應的表目,填上該頁所佔用的主存塊把標誌置爲“1”,表示該頁已在主存儲器中

(6)由於產生缺頁中斷時的那條指令並沒執行完,所以在把頁面裝入之後應重新執行被中斷指令。
請求分段系統中的缺頁中斷處理過程如下圖所示:

在這裏插入圖片描述

在這裏插入圖片描述
26 .如何實現共享分段的分配和回收?
答:①共享段的分配:在爲共享段分配內存時,對第一個請求使用該共享段的進程,由系統爲該共享段分配一物理區,當又有其它進程需要調用該共享段時,無須再爲該段分配內存。
  ②共享段的回收:當共享此段的某進程不再需要該段時,若無其他進程使用該段,則由系統回收該共享段的物理內存,否則只是取消調用者進程在共享段表中的有關記錄。
練習題

1、 某系統採用頁式存儲管理策略,擁有邏輯空間32頁,每頁是2k,擁有物理空間爲1M。
(1)寫出邏輯地址的格式
(2)如果不考慮訪問權限等,進程的頁表有多少項?每項至少有多少位?
(3)如果物理地址空間減少一半,頁表結構應如何改變?

(1)	5位頁號 +11位頁內偏移
(2)	進程的頁表最多是32項,每項爲9位
(3)	進程頁表項不變,還爲32項目,每項爲8位。

3 、某虛擬存儲器的用戶空間共有32個頁面,每頁1k,主存16k。假定某個時刻系統爲用戶的第0、1、2、3頁分配物理塊號爲5、10、4、7,而該用戶作業的長度爲6頁,試將十六進程的虛擬地址05AC、103C、1A5C轉換成物理地址。

由用戶空間是32頁,每頁是1K可知道,該系統邏輯地址爲15位,其中頁號爲5位,頁內地址爲10位。 由物理地址空間爲16K可知,物理地址爲14位,由於每個頁面爲1K,則可知道頁內地址爲10位,頁號爲4位。

虛擬地址0A5C是16進製表示形式,轉化爲2進製爲(0000 1010 0101 1100),對照邏輯地址,取其中15位,可知道頁號爲 00010,即頁號爲2,該虛擬頁面映射到物理頁面爲4,即物理頁面爲0100(這是由題目已知條件給出的)。該物理頁面號和邏輯頁內地址偏移:10 0101 1100 拼接爲物理地址: 010 010 0101 1100 ,即物理地址爲16進制的125C

5. 一個請求頁式存儲系統中,一個程序的頁面走向爲2,3,1,2,4,3,5,7,2,3,4,3,6,2,1,3,4,1假設分配給程序的存儲塊數爲3塊,請給出OPT、FIFO、LRU每種頁面置換算法的頁面走向,並計算缺頁率。
解:
OPT最佳置換算法:淘汰最遠將來才使用的頁。
FIFO先進先出置換算法:淘汰最先進來的頁。
LRU最近最久未使用置換算法:最近最久未使用的頁。
在這裏插入圖片描述

F(opt)=10/18=56%
F(fifo)=14/18=78%
F(lru)=15/18=83%

6 .操作系統如果採用段頁式存儲分配方案,要求:
⑴給出段頁式存儲分配方案的基本思想及產生什麼零頭?
⑵如果一頁爲2K,請通過以下給出的表計算出邏輯地址2/3673的物理地址。
在這裏插入圖片描述
(1)解: (1)段頁式存儲的基本思想:把程序按本身的邏輯結構分成若干段,每段都有自己的地址,內存等分成若干大小相等位置固定的塊,分配是以塊爲單位進行分配,裝入時把每段分成與塊相等的頁,頁裝入到塊中,一個程序不用所有的段,一段不用所有的頁都裝入就可運行。零頭:最後一頁可能在存儲時出現空間閒置。
⑵如果一頁爲2K,請通過上表計算出邏輯地址2/3673的物理地址。
解⑵從題意和表中看出屬2段,3673/2k得頁號1對應的塊號33,偏移地址3673-2048-1625,所以

  物理地址=塊的大小×塊號+頁內位移=2K×33+1625=69209

7. 有一多道程序設計系統,主存空間爲100K,採用可變分區管理及最先適應算法,作業和進程調度均採用FCFS算法,作業序列如下

作業 提交時間 運行時間 主存要求 裝入時間
1 10.1 0.3小時 15K 10.1
2 10.3 0.5小時 60K 10.3
3 10.5 0.4小時 50K 10.9
4 10.6 0.4小時 10K 10.6
5 10.7 0.2小時 20K 10.7

(1)作業裝入主存的時間及次序;

J1--->J2-->J4-->J5-->J3

(2)計算週轉時間,及平均週轉時間。
在這裏插入圖片描述

以上試題大部分爲互聯網上採集的,難免有出錯的地方,歡迎指正,本人定虛心改正.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章