1. 程式人生 > >假定我們有3個程式,每個程式花費80%的時間進行I/O,20%的時間使用CPU

假定我們有3個程式,每個程式花費80%的時間進行I/O,20%的時間使用CPU

2 假定我們有3個程式,每個程式花費80%的時間進行I/O,20%的時間使用CPU,每個程式的啟動時間和其需要使用CPU進行計算機的分鐘數如表所示

程式編號      啟動時間              需要CPU時間(分鐘)
  1           00:00(零點零分)         3.5 
  2           00:10                     2
  3           00:15                     1.5

請問在多執行緒/程序環境下 系統總響應時間
A 22.5   B 23.5     C 24.5     D 25.5

 

答案:

0~10  10*0.8=8 10*0.2=2  A剩下1.5分鐘CPU跑
10~15  有兩個程序 CPU利用率為1-0.8*0.8=0.36  所以5*0.36/2=0.9(兩個程序均分CPU時間)這樣A剩下0.6,B剩下1.1
15開始,有3個程序 CPU利用率為1-0.8*0.8*0.8=0.488 所以A在 0.6*3/0.488=3.69也就是18.69分完成,之後CPU利用率又為0.36,此時B剩下1.1-0.6=0.5,C剩下1.5-0.6=0.9 之後B在0.5*2/0.36=2.78也就是2.78+18.69=21.46時候B程序結束,之後C開始單跑 0.9-0.5=0.4  0.4/0.2=2, 即2分鐘之後C結束,也就是21.46+2=23.46≈23.5 所以答案應該選B

 

 

具體詳見:https://blog.csdn.net/sunmenggmail/article/details/8022532