作業系統例題

2023-02-03 13:42:03 字數 3035 閱讀 8536

關於磁碟排程策略的答疑

需要掌握下列的知識點

● 各種排程策略的思路

● 磁軌號和磁碟位置的關係

● 會畫出磁碟排程的序列圖

● 會計算相關的磁頭移動的總距離

例題抄錄如下:

已知讀寫磁頭位於53號磁軌,現有磁碟請求序列為98,183,37,122,14,124,65,67。要求圖示採用fcfs、sstf、掃瞄策略和迴圈掃瞄策略等磁碟排程演算法實現上述請求的過程。

分析:首先搞清各種排程演算法的思路

1. fcfs:先到先服務的策略:

從字面上就能理解它的思路,就是先提出要求的資料位置先訪問,此題可以直接得到排程序列應為:53→98→183→37→122→14→124→65→67。

2. sstf:最短查詢時間優先演算法:

從當前磁頭位置出發,將磁頭移動到距離最近的乙個資料塊處。本題依然是從53出發,在53 磁軌的兩側分別是37(外側,為什麼?)和65,由於65距53為12(相減即可),而37距53為16,故65為53磁軌的下乙個位置;然後以65為當前位置,重新判斷下乙個位置53→65→…;通常是和畫圖結合比較容易判斷。

3. 掃瞄策略:磁頭從乙個方向掃瞄到最外端(或最內端)的資料塊,然後向反方向掃瞄,這樣一去一回就把所有的資料全部讀取了。

在這兒要設定開始時磁頭掃瞄的方向,(一般題面上會有說明,沒有的話自己假設;本題我們假設是從內到外)。如果是從內到外,我們知道當前的磁頭是從大號碼向小號碼移動(0磁軌是最外圈),故我們可以知道磁頭的移動序列是53→37→14→(回掃)65→67→98→122→124→183

4. 迴圈掃瞄策略:磁頭只從乙個方向掃瞄到最外端(或最內端)的資料塊,然後向反方向移動到最內端,(反向移動是不讀取資料的),重新從最內端移動到最外端並全部讀取資料。

我們還是假設是從內到外是讀取資料。則此時的磁頭移動序列是53→37→14→(回掃不取資料)183→124→122→98→67→65

然後畫出要求演算法的排程圖,我們以迴圈掃瞄策略為例,其他參照教材p224~225

圖的橫座標是磁軌位置,綜座標是時間軸,所以我們可以看出究竟是哪個位置先訪問的;

下圖的圓圈表示讀取資料,虛線表示磁頭回移不取資料。

迴圈掃瞄策略的示意圖

在上圖中我們計算一下磁頭移動的總距離,可以分段計算

53→→14:移動距離39(53-14=39)

14→→183:移動距離169(183-14=169)

183→→65:移動距離118(183-65=118)

總距離三段相加=39+169+118=326

例題:採用簡單分頁系統的記憶體管理,頁面的大小是8k位元組。現有乙個邏輯位址a=3580h,該程序的頁表為 [0,5/1,6/2,1/3,0...

],則該邏輯位址對應的實體地址a'是多少?請寫出計算的過程。

解:a=3580h=0011 0101 1000 0000b

結果:d580h

關於訊號量問題的例題:

1:考慮有幾類資源需要控制

2:考慮資源的初始情況是怎樣的;

3:給出每個程序使用資源部分的相關過程

4:將相關過程轉換為訊號量的語句

例題:1. 乙個生產者與乙個消費者,它們共用乙個緩衝器。生產者不斷地生產物品,每生產一件物品就要存入緩衝器,但緩衝器中每次只能存入一件物品,只有當消費者把物品取走後,生產者才能把下一件物品存入緩衝器。

同樣,消費者要不斷地取出物品去消費,當緩衝器中有物品時他就可以去取,每取走一件物品後,必須等生產者再放入一件物品才能再取。試採用程序的同步機制,寫出對他們的管理方式。

● 考慮有幾類資源需要控制?

● 考慮資源的初始情況是怎樣的;

● 給出每個程序使用資源部分的相關過程

生產者:

消費者● 將相關過程轉換為訊號量的語句

begin

buffer:integer;

sp,sg:semaphore;

sp:=1;sg:=0;

cobegin

process producer

begin

l1:produce a product;

wait(sp);

buffer:=product;

signal(sg);

goto l1

end;

process consumer

begin

l2:wait(sg);

take a product from buffer;

signal(sp);

consumer;

goto l2

end;

coend;

end;

現在有乙個作業,分配到3個頁架,執行時依此訪問的頁號為7,0,1,2,0,3,0,4,2,3。要求採用fifo的頁面排程方法,圖示排程過程,並說明產生了幾次缺頁中斷(頁架空閒初次裝入時,不計入缺頁次數)

有六次缺頁中斷。

某系統中有3類資源m1, m2, m3,有四個程序p1,p2,p3,p4。其中m1,m2,m3的總數分別是10,8,3。四個程序對資源的需求和資源的已分配情況分別如下圖。

試問, 按銀行家演算法能否安全分配?並說明分配過程。

解:步驟一:給出當前情況下資源需求即分配的情況分析:

總的資源數r=(10,8,3)

當前可用資源 v= (3,1,1);

當前已分配資源: a=

當前需要的資源情況c=

步驟二:對資源進行虛擬分配情況:

1. 用v和c的每一行進行比對,發現v﹥c4;資源滿足p4需要,分配給p4後**資源a4:v=v+a4=(5,1,1);p4對應的資料則不再使用。

2. 用v和c的每一行再次比較,發現v﹥c3;資源滿足p3需要,分配給p3後收回資源a3:v=v+a3=(5,2,2);p3對應的資料不再使用。

3. 用v和c的每一行再次比較,發現v﹥c1;資源滿足p1需要,分配給p1後收回資源a1:v=v+a1=(8,5,3);p1對應的資料不再使用。

4. 用v和c的每一行再次比較,發現v﹥c2;資源滿足p2需要,分配給p2後收回資源a2:v=v+a2=(10,8,3);p2對應的資料不再使用。

步驟三:結論

資源已全部收回。結論:系統無死鎖發生。

作業系統複習

一 什麼是作業系統 在回答這個問題之前,我們先來了解一下什麼是計算機系統。計算機系統是按使用者的要求接收和儲存資訊 自動進行資料處理並輸出結果資訊的系統。計算機系統由硬體系統和軟體系統組成。軟硬體系統的組成部分就是計算機系統的資源,當不同的使用者使用計算機時都要占用系統資源並且有不同的控制需求。作業...

2019作業系統A

2014年秋季學期 作業系統 課程考試試卷 a卷 注意 1 本試卷共 3 頁2 考試時間 110分鐘 3 姓名 學號 網選班級 網選序號必須寫在指定地方。一 單項選擇題目 每小題 2分,共30分,請將答案填在小提前的括弧內 1.從使用者角度看,作業系統是 a.計算機資源的管理者b.計算機工作流程的組...

作業系統 筆記

第一章作業系統引論 什麼是作業系統?作業系統是所有軟體中最基礎 最核心的部分,是計算機使用者和計算機硬體之間的中介程式,它為使用者執行程式提供更方便 更有效的環境。從資源管理的角度看,作業系統對整個計算機系統內的所有硬體和軟體資源進行管理和排程,優化資源利用,協調系統內的各種活動,處理可能出現的種種...