2

这是一个我无法解决的考试问题,即使在搜索了响应时间之后也是如此。

我认为答案应该是220, 120

RR 调度的有效性取决于两个因素:q 的选择、时间量和调度开销 s。如果一个系统包含 n 个进程,并且一个进程的每个请求恰好消耗 q 秒,则请求的响应时间 (rt) 为 rt= n(q+s) 。这意味着响应是在花费整个 CPU 突发并被调度到下一个进程之后生成的。(在 q+s 之后)

假设一个操作系统包含 10 个同时启动的相同进程。每个进程包含 15 个相同的请求,每个请求消耗 20 毫秒的 CPU 时间。一个请求之后是一个耗时 10 秒的 I/O 操作。系统在CPU调度上消耗2msec。计算以下两种情况下每个进程发出的第一个请求的平均响应时间:

  • (i) 时间段为 20 毫秒。

  • (ii) 时间段为 10 毫秒。

4

1 回答 1

0

请注意,我假设您的意思10ms不是10sI/O 等待时间,并且当 I/O 正在进行时,没有任何东西可以在 CPU 上运行。在实际操作系统中,后一种假设是不正确的。

每个过程都需要时间15 requests * (20ms CPU + 10ms I/O)/request = 450ms

然后,除以时间量得到调度延迟的数量,并将其添加到450ms

  1. 450ms / 20ms = 22.5但实际上应该是23因为您无法进行部分重新安排。这给出了答案450ms + 2ms/reschedule * 23 reschedules = 496ms

  2. 450ms / 10ms = 45. 这给出了答案450ms + 2ms/reschedule * 45 reschedules = 540ms

于 2013-05-29T02:19:29.930 回答