2016操作系統原理離線作業 - 圖文 - 下載本文

頁面走向 塊1 塊2 塊3 1 1 4 1 4 √ 3 1 4 3 √ 1 2 2 4 3 √ 5 2 5 3 √ 1 2 5 1 √ 4 4 5 1 √ 2 4 2 1 √ 1 4 5 4 2 5 √ 缺頁 √

缺頁中斷次數為9,缺頁率為9/12=75%。

(2)采用LRU頁面置換算法,其缺頁情況如表所示。

LRU頁面置換算法的缺頁情況 頁面走向 塊1 塊2 塊3 1 1 4 1 4 √ 3 1 4 3 √ 1 2 1 2 3 √ 5 1 2 5 √ 1 4 1 4 5 √ 2 1 4 2 √ 1 4 5 1 4 5 √ 缺頁 √ 缺頁中斷次數為8,缺頁率為8/12=67%。

10.1 假設有一個文件系統,它里面的文件被刪除后,當連接到該文件的鏈接依然存在時,文件的磁盤空間會再度被利用。如果一個新的文件被創建在同一個存儲區域或具有同樣的絕對路徑名,這會產生什么問題?如何才能避免這些問題?

答:假設F1是舊的文件,F2是新的文件。當一個用戶通過已存在的鏈接訪問F1,實際卻是訪問F2。這里使用的是對文件F1的存取保護而不是與文件F2相關的存儲保護。

采用刪除指向一個已刪除文件的所有鏈接的方法避免該問題。可以通過幾種方法實現: 1.設置一個記錄指向一個文件的所有鏈接的鏈表,當這個文件被刪除時,刪掉這些鏈接。 2.保留這些鏈接,當試圖訪問一個已被刪除的文件時,刪掉這些鏈接。

3.設置一個文件的指針鏈表(或計數器),當指向該文件的所有指針被刪除時才真正刪除這個文件。

10.9 有些系統文件提供文件共享時候只保留文件的一個拷貝,而另外的一個系統則是保留多個拷貝,對共享文件的每一個用戶提供一個拷貝,論述這種方法的相對優點。

答:在一個單一的復制,同時更新了一個文件可能會導致用戶獲得不正確的信息,文件被留在了不正確的狀態. 隨著多份拷貝,它會浪費存儲而且各種副本可能不一致。

11.6假設一個在磁盤上的文件系統,其中邏輯塊和物理塊大小為512字節。假定每個文件的信息已經在內存中,對于三種分配策略中的每一種(連續、鏈接、索引),請回答下面這些問題。

(1)說明在這個系統中是如何實現從邏輯地址到物理地址映射的?(對于索引分配,假設文件的長度總是小于512塊)。

(2)如果當前位于邏輯塊10(即最后一次訪問的邏輯塊是10),且希望訪問邏輯塊4,必須從磁盤上讀多少個物理塊?

答:令Z是開始邏輯地址(塊號)。

a. 若使用連續分配策略時。用512去除邏輯地址,則X和Y分別表示得到的整數和余數。

(1)將X加上Z得到物理塊號,Y為塊內的位移 (2)1

b. 若使用鏈接分配策略。用511去除邏輯地址,則X和Y分別表示得到的整數和余數。

(1)查找鏈表到第X+1塊,Y+1位該塊內的位移量。 (2)4

c. 若使用索引分配策略。用512去除邏輯地址,則X和Y分別表示得到的整數和余數。

(1)把索引塊讀入內存中,則物理塊地址存放在索引塊在第X位置中,Y為塊內的位移量。

(2)2

11.01 考慮一個含有100塊的文件。假如文件控制塊(和索引塊,當用索引分配時)已經在內存中。當使用連續、鏈接、單級索引分配策略時,各需要多少次磁盤I/O操作?假設在連續分配時,在開始部分沒有擴張的空間,但在結尾部分有擴張空間,并且假設被增加塊的信息已在內存中:

(1)在開始增加一塊。 (2)在中間增加一塊。 (3)在末端增加一塊。 (4)在開始刪除一塊。 (5)在中間刪除一塊。 (6)在末端刪除一塊。

答:各種策略相應的磁盤I/O操作次數如表 連續 鏈接 索引 a. 201 1 1 b. 101 52 1 c. 1 3 1 d. 198 1 0 e. 98 52 0 f. 0 100 0

11.02有一磁盤組共有10個盤面,每個盤面上有100個磁道,每個磁道有16個扇區。假設

分配以扇區為單位。

(1) 若使用位示圖管理磁盤空間,問位示圖需要占用多少空間?

(2) 若空白文件目錄的每個表目占用5個字節,問什么時候空白文件目錄大于位示圖? 答:空白文件目錄是管理磁盤空間的一種方法,該方法將文件存儲設備上的每個連續空閑區看作一個空白文件,系統為所有空白文件單獨建立一個目錄,每個空白文件在這個目錄中占一個表項;表項的內容至少包括第一個空白塊的地址(物理塊號)、空白塊的數目。 (1)由題設所給條件可知,磁盤組扇區總數為16*100* 10=16000(個)

因此,使用位示圖描述扇區狀態需要的位數為16000(位)/8(位/字節)=2000(字節)

(2)已知空白文件目錄的每個表項占5個字節.而位示圖需占2000字節.即2000字節 可存放的表項數為2000/5=400(個).

當空白區數目大于400時,空白文件目錄大于位示圖。

12.2 假設一個磁盤驅動器有5000個柱面,從0到4999,驅動器正在為柱面143的一個請求提供服務,且前面的一個服務請求是在柱面125。按FIFO順序,即將到來的請求隊列是 86,1470,913,1774,948,1509,1022,1750,130 從現在磁頭位置開始,按照下面的磁盤調度算法,要滿足隊列中即將到來的請求要求磁頭總的移動距離(按柱面數計)是多少? a. FCFS b. SSTF c. SCAN d. LOOK e. C-SCAN

答:a. FCFS的調度是143 , 86 , 1470 , 913 , 1774 , 948 , 1509 , 1022 , 1750 , 130 。總尋求距離是7081 。

b. SSTF的調度是143 , 130 , 86 , 913 , 948 , 1022, 1470, 1509, 1750, 1774。總尋求距離是1745。

c. SCAN的調度是143 , 913 , 948 , 1022, 1470, 1509, 1750, 1774 , 4999 , 130 , 86 。總尋求距離是9769 。

d. LOOK的調度是143 , 913 , 948 , 1022, 1470, 1509, 1750, 1774, 130 , 86 。總尋求距離是3319 。

e. C-SCAN的調度是143 , 913 , 948 , 1022 , 1470 , 1509 , 1750 , 1774 , 4999 , 86 , 130 。總尋求距離是9985 。

f. C-LOOK的調度是143 , 913 , 948 , 1022 , 1470 , 1509 , 1750 , 1774 , 86 , 130 。總尋求距離是3363 。

12.14 MTBF(平均無故障時間)是硬盤可靠性的一個指標。雖然這個指標被稱作“時間”,

但實際上MTBF通常是以設備的正常工作小時數度量的。

(1) 如果一個系統包含1000個磁盤驅動器,每個驅動器的MTBF是750000小時,下面

的描述中哪一個最符合該系統發生一次磁盤故障的時間:每1000年,每世紀,每十年,每個月,每個星期,每天,每小時,每分鐘,每秒鐘?

(2) 統計表明,一個20到21歲的美國公民平均死亡率為千分之一,由此推論20歲的

MTBF時間(單位由小時轉換為年),對于一個20歲的人來說,MTBF給出期望的壽命是多大?

(3) 某類磁盤驅動器,生產商保證的MTBF為1百萬小時 你能推算出它們的保質期是

多少年嗎? 答:

(1) 750000 / 1000=750(小時) 約等于31天,每個月發生一次磁盤故障。

(2) 1年是8760小時,8760小時 / 0.001 = 8760000小時(1000年)也就是說對于一個

20歲的人來說,MTBF給出期望的壽命是1000年,這沒有任何實際意義。

(3) 從上一小題可看出,MTBF給出期望的壽命沒有任何實際意義。一般來說,磁盤驅

動器設計的壽命是5年,假如真的有一個MTBF為1百萬小時的磁盤,那么在其期望的壽命內是不可能有故障的。

12.01 假設計算機系統采用CSCAN(循環掃描)磁盤調度策略,使用2KB的內存空間記錄

16384個磁盤塊的空閑狀態。

(1) 請說明在上述條件下如何進行磁盤塊空閑狀態管理。

(2) 設某單面磁盤旋轉速度為每分鐘6000轉。每個磁道有100個扇區,相鄰磁道間的平

均移動時間為1ms。若在某時刻,磁頭位于100號磁道處,并沿著磁道號增大的方向移動(如下圖所示),磁道號請求隊列為50、90、30、120,對請求隊列中的每個磁道需讀取1個隨機分布的扇區,則讀完這4個扇區總共需要多少時間?要求給出計算過程。

(3)如果將磁盤替換為隨機訪問的Flash半導體存儲器(如U盤、SSD等),是否有比CSACN更高效的磁盤調度策略?若有,給出磁盤調度策略的名稱并說明理由;若無,說明理由。 答:(1) 用位圖表示磁盤的空閑狀態。每一位表示一個磁盤塊的空閑狀態,共需要16384/8=2048字節=2KB。系統提供的2KB內存能正好能表示16384個磁盤塊。

(2)采用CSCAN調度算法,訪問磁道的順序為50、90、30、120,則磁頭移動磁道長度為20+90+20+40=170,總的移動磁道時間為170×1ms=170ms。

由于轉速為6000轉/分,則平均旋轉延遲為(60/6000)/2 s=5ms,要訪問4個磁道,總的旋轉延遲時間為=4×5ms=20ms。

由于轉速為6000轉/分,則讀取一個磁道上的一個扇區的平均讀取時間為(60/6000)/100 s =0.1ms,總的讀取扇區的時間=4×0.1ms=0.4ms。

讀取上述磁道上所有扇區所花的總時間=170ms+20ms+0.4ms=190.4 ms

(3)采用FCFS(先來先服務)調度策略更高效。因為Flash半導體存儲器的物理結構不需要考慮尋道時間和旋轉延遲,可直接按I/O請求的先后順序服務。

13.3考慮單用戶PC機上的下列I/O操作:

(1)圖形用戶界面下使用鼠標

(2)在多任務操作系統下的磁帶驅動器(假設沒有設備預分配) (3)包含用戶文件的磁盤驅動器

(4)使用存儲器映射I/O,直接和總線相連的圖形卡

在操作系統中使用緩沖技術,假脫機技術,Cache技術,或者它們的組合來實現上述操作。實現時使用輪詢I/O還是中斷I/O?為什么? 答:

(1) 在鼠標移動時,如果有高優先級的操作產生,為了記錄鼠標活動的情況,必須使用

緩沖技術,另外,假脫機技術和Caching技術不是很必要,而應采用中斷驅動I/O方式。

(2) 由于磁帶驅動器和目標或源I/O設備間的吞吐量不同,必須采用緩沖技術;為了能

對儲存在磁帶上的數據進行快速訪問,必須采用Caching技術;當有多個用戶需要對磁帶進行讀或寫的時候,假脫機技術也是必須采用的;為了取得最好的性能,應該采用中斷驅動I/O方式。

(3) 為了能使數據從用戶作業空間傳送到磁盤或從磁盤傳送到用戶作業空間,必須采用

緩沖技術;同樣道理,也必須采用Caching技術;由于磁盤是屬于共享設備,故沒必要采用假脫機技術;最好采用中斷驅動I/O方式。

(4) 為了便于多幅圖形的存取及提高性能,緩沖技術是可以采用的,特別是在顯示當前

一幅圖形時又要取得下一幅圖形時,應采用雙緩沖技術;基于存儲器映射及直接和總線相連的圖形卡是快速和共享設備,所以沒必要采用假脫機技術和Caching技術;輪詢I/O和中斷I/O只對輸入和I/O是否完成的檢測有用,而對于采用存儲器映射的設備不必用到上述兩種I/O方式。

13.01驅動程序是什么?為什么要有設備驅動程序?用戶進程怎樣使用驅動程序? 答:

(1) 用戶進程與設備控制器之間的通信程序稱為設備驅動程序。

(2) 設備驅動程序是控制設備動作的核心模塊,如設備的打開、關閉、讀、寫等,用來

控制設備上數據的傳輸。它直接與硬件密切相關,處理用戶進程發出的I/O請求。 (3) 用戶進程使用設備驅動程序時,設備驅動程序的處理過程為:將用戶進程抽象的I/O

要求轉換為具體的要求,檢查I/O請求的合法性,讀出和檢查設備的狀態,傳送必要的參數,設置設備工作方式,啟動I/O設備。





街机千炮捕鱼2016 游戏麻将之四人麻将 河南快赢481开奖视2336 JDP财神捕鱼 网上真人对战麻将 篮球巨星 516游戏官方网站 英超女神 时时乐上海今天走势 宝博棋牌官网 心水一点必中特指什么 新手股票怎么玩 优乐江西麻将官方网站 捕鱼街机电玩城 重庆麻将规则公式 中持股份股票 北京赛车pk10开奖杀号