即使在搜索了响应时间之后,这也是我无法解决的考试问题。
我认为答案应该是220, 120
RR调度的有效性取决于两个因素:q的选择,时间量和调度开销。如果系统包含n个进程并且进程的每个请求恰好消耗q秒,则请求的响应时间(rt)为rt = n(q + s)。这意味着在花费整个CPU突发并被安排到下一个进程之后生成响应。 (在q + s之后)
假设操作系统包含10个同时启动的相同进程。每个进程包含15个相同的请求,每个请求消耗20毫秒的CPU时间。请求之后是I / O操作,消耗10秒。系统在CPU调度中耗费2毫秒。计算以下两种情况下每个流程发出的fisrt请求的平均响应时间:
(i)时间量是20毫秒。
(ii)时间量是10毫秒。
答案 0 :(得分:0)
请注意,我假设您的I / O等待时间意味着10ms
而不是10s
,并且在I / O正在进行时没有任何内容可以在CPU上运行。在实际操作系统中,后一种假设是不正确的。
每个流程都需要花费时间15 requests * (20ms CPU + 10ms I/O)/request = 450ms
。
然后,除以时间量程以获得调度延迟的数量,并将其添加到450ms
:
450ms / 20ms = 22.5
但实际上它应该是23
,因为您无法获得部分重新安排。这给出了答案450ms + 2ms/reschedule * 23 reschedules = 496ms
。
450ms / 10ms = 45
。这给出了答案450ms + 2ms/reschedule * 45 reschedules = 540ms
。