Re: 程序P1輸出入(I/O)等待比率50% P2(60%) CPU反比? - 考試
By Daniel
at 2012-12-14T22:14
at 2012-12-14T22:14
Table of Contents
※ 引述《stephenth (steve)》之銘言:
: 不好意思,因為沒有人回覆,所以再問一次,麻煩了解的ptt前輩幫忙解惑! 謝謝
: (我的想法是,是成反比 ? 還是正比呢 ? or .. ? 有前輩可幫忙解惑一下嗎?謝謝)
感覺好像數學題而不是計概題= =
令P1所需時間為T1,P2所需時間為T2,則其時間分配為
CPU I/O
----- -----
P1 O.5T1 0.5T1
P2 0.4T2 0.6T2
假設是在CPU和I/O並行的最佳情況下執行:
也就是P1進行I/O時,P2使用CPU;P2進行I/O時,P1使用CPU,
並忽略其他浪費的時間(Context Switch、CPU指派命令給I/O、Interrupt等)
當P1的I/O和P2的CPU並行時,若P2做完CPU而P1還沒完成I/O時(即0.5T1 > 0.4T2),
則需多花(0.5T1 - 0.4T2)的時間等P1做完I/O動作;
同理,當P2的I/O和P1的CPU並行,若P1做完CPU而P2還未完成I/O時(即0.6T2 > 0.5T1),
則需多花(0.6T2 - 0.5T1)的時間等P2完成I/O動作。
因此可知CPU執行的時間為 0.5T1 + 0.4T2
而總花費時間的通式為: CPU執行時間 + 多等P1完成I/O的時間 + 多等P2完成I/O的時間
= (0.5T1 + 0.4T2) + (0.5T1-0.4T2) + (0.6T2 - 0.5T1)
最後考量以下三種可能:
1.若 0.4T2 < 0.5T1 < 0.6T2
CPU執行時間 0.5T1+0.4T2
CPU執行比率 = -------------- = -----------------------------------------
總花費時間 0.5T1+0.4T2+(0.6T2-0.5T1)+(0.5T1-0.4T2)
2.若 0.4T2 >= 0.5T1
(此時P2的CPU還沒執行完前,P1的I/O就結束了,因此不用多留時間等P1完成I/O)
CPU執行時間 0.5T1+0.4T2
CPU執行比率 = -------------- = -----------------------------------------
總花費時間 0.5T1+0.4T2+(0.6T2-0.5T1)
3.若 0.5T1 >= 0.6T2
(此時P1的CPU還沒執行完前,P2的I/O就結束了,因此不用多留時間等P2完成I/O)
CPU執行時間 0.5T1+0.4T2
CPU執行比率 = -------------- = -----------------------------------------
總花費時間 0.5T1+0.4T2+(0.5T1-0.4T2)
不知道這是不是你要的答案,因為我不是數學系的,推導式子不是很專業,
有錯請多擔待。
話說這題幾分啊,寫這麼多要是沒有個20分根本不划算啊啊啊!!!
--
--
: 不好意思,因為沒有人回覆,所以再問一次,麻煩了解的ptt前輩幫忙解惑! 謝謝
: (我的想法是,是成反比 ? 還是正比呢 ? or .. ? 有前輩可幫忙解惑一下嗎?謝謝)
感覺好像數學題而不是計概題= =
令P1所需時間為T1,P2所需時間為T2,則其時間分配為
CPU I/O
----- -----
P1 O.5T1 0.5T1
P2 0.4T2 0.6T2
假設是在CPU和I/O並行的最佳情況下執行:
也就是P1進行I/O時,P2使用CPU;P2進行I/O時,P1使用CPU,
並忽略其他浪費的時間(Context Switch、CPU指派命令給I/O、Interrupt等)
當P1的I/O和P2的CPU並行時,若P2做完CPU而P1還沒完成I/O時(即0.5T1 > 0.4T2),
則需多花(0.5T1 - 0.4T2)的時間等P1做完I/O動作;
同理,當P2的I/O和P1的CPU並行,若P1做完CPU而P2還未完成I/O時(即0.6T2 > 0.5T1),
則需多花(0.6T2 - 0.5T1)的時間等P2完成I/O動作。
因此可知CPU執行的時間為 0.5T1 + 0.4T2
而總花費時間的通式為: CPU執行時間 + 多等P1完成I/O的時間 + 多等P2完成I/O的時間
= (0.5T1 + 0.4T2) + (0.5T1-0.4T2) + (0.6T2 - 0.5T1)
最後考量以下三種可能:
1.若 0.4T2 < 0.5T1 < 0.6T2
CPU執行時間 0.5T1+0.4T2
CPU執行比率 = -------------- = -----------------------------------------
總花費時間 0.5T1+0.4T2+(0.6T2-0.5T1)+(0.5T1-0.4T2)
2.若 0.4T2 >= 0.5T1
(此時P2的CPU還沒執行完前,P1的I/O就結束了,因此不用多留時間等P1完成I/O)
CPU執行時間 0.5T1+0.4T2
CPU執行比率 = -------------- = -----------------------------------------
總花費時間 0.5T1+0.4T2+(0.6T2-0.5T1)
3.若 0.5T1 >= 0.6T2
(此時P1的CPU還沒執行完前,P2的I/O就結束了,因此不用多留時間等P2完成I/O)
CPU執行時間 0.5T1+0.4T2
CPU執行比率 = -------------- = -----------------------------------------
總花費時間 0.5T1+0.4T2+(0.5T1-0.4T2)
不知道這是不是你要的答案,因為我不是數學系的,推導式子不是很專業,
有錯請多擔待。
話說這題幾分啊,寫這麼多要是沒有個20分根本不划算啊啊啊!!!
--
--
Tags:
考試
All Comments
Related Posts
請問學歷考普考
By Daph Bay
at 2012-12-14T21:47
at 2012-12-14T21:47
增訂並修正勞工保險條例條文
By Donna
at 2012-12-14T21:00
at 2012-12-14T21:00
地方特考
By Gary
at 2012-12-14T20:10
at 2012-12-14T20:10
101四等書記官補習+用書心得
By Daniel
at 2012-12-14T19:08
at 2012-12-14T19:08
不要再說地特沒增額
By Faithe
at 2012-12-14T18:53
at 2012-12-14T18:53