有三个程序J1,J2,J3。程序在单核CPU执行时,三个程序需要的资源如下所示:

 

程序 CPU占用时间(ms) IO占用时间 执行顺序 优先级
J1 40 60 先CPU计算后IO
J2 20 50 先IO后CPU计算
J3 30 20 先CPU计算后IO

 

优先级高的程序可以抢占优先级低的程序的CPU,但不能抢占IO。问当所有任务执行完时,共消耗的时间是多少?
A. 170ms
B. 130ms
C. 160ms
D. 120ms

1 1 收藏


直接登录
最新评论
  • Z   01/20

    我算的是A.170

  • Leave me alone linux c/c++ 01/20

    1.      J1和J2一起运行,J1占CPU(40ms), J2占IO(50ms) , J3未运行
    2.      40ms时,J1释放CPU,等IO, J2未使用完IO,所以CPU空闲,此时让J3使用CPU。
    3.   50ms时,J1占用到IO, J2从J3中抢走CPU,使用20ms。 此时J3已经使用CPU(50-40=10ms)
    4. 70ms时,J2使用完CPU,J2结束。J3可以使用CPU,
    5. 90ms时,J3使用完CPU(90-70=20ms),J3等待IO
    6. 110ms时,J1才刚刚使用完IO,释放,J1结束。 J3得到IO。
    7. 130ms时,J3使用完IO。J3结束

  • 王永康 iOS高级工程师 01/24

    CPU的时间段,相对IO的时间段小,可以穿插在IO时间段中完成,最终的时间由IO时间决定,答案为B

    详细

    1.      J1和J2一起运行,J1占CPU(40ms), J2占IO(50ms) , J3未运行
    2.      40ms时,J1释放CPU,等IO, J2未使用完IO,所以CPU空闲,此时让J3使用CPU。
    3.   50ms时,J1占用到IO, J2从J3中抢走CPU,使用20ms。 此时J3已经使用CPU(50-40=10ms)
    4. 70ms时,J2使用完CPU,J2结束。J3可以使用CPU,
    5. 90ms时,J3使用完CPU(90-70=20ms),J3等待IO
    6. 110ms时,J1才刚刚使用完IO,释放,J1结束。 J3得到IO。
    7. 130ms时,J3使用完IO。J3结束。

  • Mr.Hare   02/23

    B

  • 胖胖 学生 02/25

    130