費翔林, 駱斌. 操作系統教程(第五版).Page118第19題筆記

參考文獻:[1]費翔林, 駱斌. 操作系統教程(第五版) [M]. 北京:高等教育出版社,2014. 

題目:在單處理器多到分時系統中,有三道作業依次提交,其提交時刻及運行時間分別爲

作業 作業提交時刻 運行時間/h 其中
I/O時間/h CUP時間/h
Job1 8.0 0.36 0.18 0.18
Job2 8.2 0.32 0.16 0.16
Jbo3 8.4 0.36 0.18 0.18
    如果已知下列情況:(1)每道作業的I/O等待時間佔各自總運行時間的一半;(2)分時運行兩道作業,CPU將有20%的時間空閒;(3)除了CPU,系統有充足的資源供作業使用。試計算各作業運行完成時間。




分析:


  1. 題意解讀:
    • 每道作業的I/O等待時間佔個各自總運行時間一半:看錶格就知道咯,比如Job1的,運行時間是0.36h,那麼I/O就需要0.18,剩下的0.18纔是CPU計算時間;
    • 分時運行兩道作業CPU空閒20%:比如Job1和Job2都在內存裏,從內存選中一個進程到CPU中間要用掉20%的時間,也就是浪費20%的CPU計算時間
  2. 解題步驟:
    1. 8.0~8.2時間段:內存中只有Job1一個進程,所以沒有進程切換,也就是沒有浪費20%的時間。I/O用了0.2÷20.1,所以需要CPU的剩餘時間爲:0.18-0.1=0.08(h);
    2. 8.2~8.4時間段:這時Job2也進入內存變成進程了,Job1和Job2之間存在進程切換,所以浪費了0.2×20%=0.04,剩下可用時間爲0.2-0.04=0.16。然而,Job1和Job2的I/O是可以交替進行的,比如現在CPU在執行Job1的運算,那麼同時Job2就可以進行I/O,而CPU計算Job2時,Job1就可以進行I/O。可以得出,Job1的CPU執行時間爲0.16÷2=0.08,Job1結束;Job2所需要CPU的剩餘時間爲:0.16-0.08=0.08(h);
    3. 8.4~8.6時間段:同第2步,浪費0.2×20%=0.04,剩下可用0.16,Job2用0.08後結束;Job3用0.08後剩餘0.1;
    4. Job3剩餘0.1,需要I/O時間0.1,內存中只有Job3,不存在浪費,所以一共需要(0.1+0.1)=0.2(h),也就是8.6+0.2=8.8時刻,Job3結束。


答案:Job1運行完成時間:8.4;Job2運行完成時間:8.6;Job3運行完成時間:8.8。



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