操作系統錯題


  • 實時系統有什么特點?適用於哪些方面? 正確答案是( )

    A、實時系統具有獨立性、及時性、交互性和同時性
    B、適用於大型作業且不需要人工干預的場合
    C、實時系統對隨機發生的外部事件作出及時的響應並作出處理
    D、實時系統具有高可靠性、實時響應性和事件驅動的特點
    E、適用於較少有人干預的實時監控場合

cde。a中的特征是分時系統

第三章 互斥與同步

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

第五章 存儲器管理

設某計算機的邏輯地址空間和物理地址空間均為64KB,按字節編址。若某進程最多需要6頁數據存儲空間,頁的大小為4KB。操作系統采用固定分配局部置換策略為此進程分配4個頁框,如下表在10:23時已經有4頁進入內存,下表的裝入時間和訪問時間為一天內24小時時間,10:00為10點0分。訪問位為0表示未被訪問,為1表示已被訪問,修改位為0表示未被修改,為1表示已被修改。表中的訪問時間均為對應的頁最近一次被訪問時間。

img

當該進程執行到時刻10:55時,要訪問邏輯地址為5ABCH的數據,請問答下列問題:

(1)該邏輯地址對應的頁號是( ).

(2)若采用先進先出(FIFO)置換算法,該邏輯地址對應的物理地址是( ).

(3)若采用最近最少用(LRU)置換算法,該邏輯地址對應的物理地址是( ).

(4)若采用時鍾(CLOCK)置換算法,該邏輯地址對應的物理地址是( )。(設搜索下一頁的指針沿順時針方向移動,且當前指向2號頁框,示意圖如下。)

img

(1)

  • 這里需要注意的是,起始給出的邏輯地址5ABCH表示的是一個十六進制的數:0101 1000 1001 1010
  • 得到頁面的大小是4KB,即2的12次方。所以向右移動12位,即可分為0101和100010011010兩部分,0101即表示當前邏輯地址對應的頁號,即第5頁

(2)(3)

正常的調轉,只是對應的物理地址為替換后頁表的頁框位置。這道題而言是這樣。正規的理解應該是所指頁框號化為2進制,然后將第一問中的余數連接起來,才是真正的物理地址。如(2)中,選中的頁框號為7,則其地址0111 100010011010即7ABCH

分別是7ABCH,2ABCH

(4)CLOCK算法是從當前指向位置順時針轉,若指向的頁的訪問號為0,則把它替換。因為本題中,訪問號全部是1,所以在轉一圈后,重新指向當前位置,單此時的訪問位在轉一圈后變成0.於是替換的頁的頁號就是2號頁。根據上述算法,得到物理位置

如果一個作業在執行過程中,按下列的頁號依次訪問主存:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。作業固定占用四個主存頁框(塊),試問:

(1) 采用FIFO算法時,產生( )次缺頁中斷,相應的缺頁中斷率是( )%。

(2) 采用LRU算法時,產生( )次缺頁中斷,相應的缺頁中斷率是( )%。

(3) 采用OPT算法時,產生( )次缺頁中斷,相應的缺頁中斷率是( )%。
在這里插入圖片描述

在固定分區管理中,當有1KB、9KB、33KB和121KB四個進程要求進入系統時,試分析主存空間的分配情況(主存初始狀態如圖5-33所示),並說明主存的浪費是( )KB。

img

直接用已有存儲空間相減

在這里插入圖片描述

先算該塊的地址占到第幾塊,如果有余數,則在結果加一。

1568/512 = 3(號) 三號頁對應的塊號是4

絕對地址=塊號×塊長+單元號=4×512+(1568%512)=2060

單元號為邏輯地址%頁長。

在這里插入圖片描述

(1)對於訪問序列依然是通過上述題中說到過的:十六進制序列號化為二進制序列號,然后根據頁面的大小划分出頁號和頁內偏移。如2362H則為0010 0011 0110 0010,頁面4KB,即為2的12次方。0010為頁號,0011 0110 0010 為頁內偏移。其次對於這種題,需要認清當前初始狀態,此時的快表為空,每次找到后都需要將項目加入都到快表中。給出圖的是頁表,查詢次序:訪問快表->訪問頁表->缺頁中斷(->表示沒找到才到下一階段)->訪問快表 查詢后,都需要合成物理地址訪問內存 頁表的訪問需要訪問內存

2362H:頁號2,查快表10,沒有,查頁表100,找到后合成地址,找內存100,所以10+100+100=210ns

1565H:頁號1,查快表10,沒有,查頁表100,沒有,缺頁中斷108,查快表10,合成物理地址查內存100,所以(220+108)ns

25A5H:頁號2,查快表10,由於之前的2號訪問添加了塊表,所以找到了,合成地址訪問內存100,所以110ns

(2)1565H,頁號為1,偏移為0101 0110 0101。查找過程中,會產生缺頁中斷,所以必須使用淘汰算法淘汰一個頁面。采用LRU淘汰頁號0,所以其對應頁框號101H,所以它的物理地址應該為101 565H。(頁內偏移不改變,只改變其“標識號”,為了查找方便快捷)

第六章 文件系統

在這里插入圖片描述

每個索引塊最大索引數 = 256/4 = 64.

4個直接地址索引4×256 = 1K

一級間接索引64*256 =16K

二級間接索引64×64×256 = 1024K

所以單個文件的最大長度 = 1024+1+16 = 1041K

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

由於是UNIX的存儲方式,所以使用i-node的方式存儲信息。首先得到每一地址空間占據的存儲量,即每個索引塊最大有1KB索引數。

所以應該是10×4KB+1K×4K+1K×1K×4K+1K×1K×1K×4K = 4TB4GB4MB40KB

直接地址占的就是它對應的塊的大小。使用塊的大小除以地址得到的就是每個索引中含有的最大索引數。比如說1級索引,他就有4K/4=1K個索引數,然后每個索引數對應一個存儲塊。二級則是每一個索引數都對應一個一級的索引這樣類推。

在這里插入圖片描述

注意題目只要求得到幾次訪問。

根目錄的i-node在內存,而路徑中的其它i-node不在內存。
需要下列的磁盤操作:讀根目錄;讀/usr的 i-節點;讀/usr的目錄;讀/usr/ast的 i-節點;讀/usr/ast 的目錄;讀/usr/ast/courses的 i-節點;讀/usr/ast/courses的目錄;讀/usr/ast/courses/os的 i-節點; 讀/usr/ast/courses/os的目錄;讀/usr/ast/courses/os/handout.t的 i-節點。
總共 10次磁盤讀操作。

可以看到都是先看一個目錄的i-,然后再看其目錄,得到下一級我們需要的內容。注意讀取時,首先是從根目錄開始的。

在這里插入圖片描述

主要了解存放指針個數的算法。

在這里插入圖片描述

位示圖表示當前磁盤中的存儲狀態。開始時1000 0000 0000 0000

A占6位 1111 1110 0000 0000

寫入B,占5位 1111 1111 1111 0000

刪除A 1000 0001 1111 0000

寫入C,占8位 1111 1111 1111 1100

刪除B 1111 1110 0000 1100

可以看到C在寫入時,它的存儲位置是可以不連續的。刪除數據時,將其原來位置的值置0即可

在這里插入圖片描述

(1)同上面的題

(2)假設除了文件i節點已經在主內存中之外沒有其他信息,那么要在位置30000中訪問該字節需要多少磁盤訪問?

答:因為 30000<40K,故該地址落入直接索引中,由於 i-node 已在內存,因此只需要 1 次訪問磁盤塊,一次訪問含有該位置數據的數據塊。

(3)4GB<2T<4TB,所以坐落在三級間接索引中。所以需要4次訪問磁盤塊。

第七章 IO管理

在這里插入圖片描述

86 91 94 102 130 147 150 175 177

(1)

FCFS先來先服務

86 -> 147 -> 91 -> 177 -> 94 -> 150 -> 102 -> 175 -> 130

39+61+56+86+83+56+48+73+45=547

(2)

SSTF最短查找時間優先(125開始)

130 -> 147 -> 150 -> 175 -> 177 -> 102 -> 94 -> 91 -> 86

5+17+3+25+2+75+8+3+5=143

(3)

SCAN掃描策略(電梯算法)(初始時是往增大的方向走)

130 -> 147 -> 150 -> 175 -> 177 -> 102 -> 94 -> 91 -> 86

5+17+3+25+2+75+8+3+5=143

(4)

CSCAN循環掃描策略

130 -> 147 -> 150 -> 175 -> 177 -> 86 -> 91 -> 94 -> 102

5+17+3+25+2+91+5+3+8=159

在這里插入圖片描述

由於轉速為6000r/min,則平均旋轉延遲為60×1000/(6000×2)=5ms,總的旋轉延遲時間為5*5ms=25ms。

由於旋轉一周的時間為10ms,每個磁道有100個扇區,讀取一個磁道上一個扇區的平均讀取時間為10ms/100=0.1ms,總的讀取扇區的時間=0.1ms*5=0.5ms。這里是因為題目要求找到時還需要讀取一個扇區

1s = 1000ms

旋轉延遲用磁盤旋轉一周所需時間的一半來表示

此旋轉周期:60×1000÷6000*0.5=5ms。總旋轉延遲=磁道號個數×旋轉周期 = 25ms

(1)

FCFS調度:60 -> 90->50->120->150

100號處開始

40+30+40+70+30 = 210

210*1+ 25+0.5 = 235.5ms

總時間=查詢時間+平均旋轉延遲+讀取扇區時間(這一項根據題目要求選擇)

(2)

SCAN :120 -> 150 -> 90 -> 60 -> 50

50+100 = 150

150+25+0.5 = 175.5

(3)

CSCAN:120 -> 150 -> 50 -> 60 -> 90

50+40+100 = 190

190+ 25.5 = 215.5ms

在這里插入圖片描述

(1)

位示圖表示磁盤的空閑狀態。每一位表示一個磁盤的空閑狀態,共需要16384/8=2048個字節=2KB,正好放在系統提供的內存中

(2)

延遲時間:(60×1000)/ 6000 *0.5 = 5ms

總延遲 :5 × 4 = 20ms

讀取扇區:60 × 1000 / 6000 / 100 = 0.1ms

總讀取扇區時間:0.4ms

CSCAN: 120 -> 30 -> 50 -> 90

(20+90+60)+20+0.4 = 190.4ms


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM