作者jcpf126 (PPCat)
看板Examination
标题Re: 程序P1输出入(I/O)等待比率50% P2(60%) CPU反比?
时间Fri Dec 14 22:14:31 2012
※ 引述《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.cc)
◆ From: 111.184.124.169
※ 编辑: jcpf126 来自: 111.184.124.169 (12/14 22:17)