Operating system 操作系统中响应时间的计算

Operating system 操作系统中响应时间的计算,operating-system,scheduling,Operating System,Scheduling,这是一道我无法解决的试题,即使在搜索了响应时间之后 我想答案应该是220120 RR调度的有效性取决于两个因素:q的选择、时间量和调度开销。如果一个系统包含n个进程,并且一个进程的每个请求恰好占用q秒,则请求的响应时间(rt)为rt=n(q+s)。这意味着响应是在花费整个CPU突发并被安排到下一个进程之后生成的。(q+s之后) 假设一个操作系统包含10个同时启动的相同进程。每个进程包含15个相同的请求,每个请求占用20毫秒的CPU时间。请求之后是一个耗时10秒的I/O操作。系统在CPU调度中消耗

这是一道我无法解决的试题,即使在搜索了响应时间之后

我想答案应该是
220120

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

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

  • (i) 时间量是20毫秒

  • (ii)时间量为10毫秒


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

每个进程应花费时间
15个请求*(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


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