【问题标题】:Calculation of response time in operating system计算操作系统中的响应时间
【发布时间】:2012-10-22 17:02:20
【问题描述】:

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

我认为答案应该是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 毫秒。

【问题讨论】:

  • 您是否应该假设执行 I/O 会阻塞所有其他线程,或者它可以与在 CPU 上运行的任务并行发生?另外,您是否注意到 I/O 操作耗时 10 秒(不是毫秒)?
  • 还有,想必这是单处理器系统吧?

标签: operating-system scheduling


【解决方案1】:

请注意,我假设您的 I/O 等待时间指的是 10ms 而不是 10s,并且当 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-14
    • 2022-01-06
    • 2010-09-18
    • 1970-01-01
    • 2017-06-30
    • 2017-03-21
    • 2020-10-08
    • 1970-01-01
    相关资源
    最近更新 更多