某个计算机系统使用非抢占式在多编程环境中运行 算法。在该系统中,两个进程A和B存储在进程队列中, 和A的优先级高于B.下表显示了每个的估计执行时间 处理;例如,进程A依次使用CPU,I / O和CPU,分别为30,60和30 分别为毫秒。以下哪个是以毫秒为单位的估计时间 完成A和B?这里,OS的多处理开销可以忽略不计 小。此外,CPU和I / O操作可以同时执行,但I / O. A和B的操作不能并行执行。
UNIT:毫秒
CPU I/O CPU
一个_______________ 30 ___________________ 60 _________________ 30
B _______________ 45 ___________________ 45 __________________--
请帮帮我..明天我需要在班上解释这个问题,但我似乎无法理解它...
答案 0 :(得分:2)
需要最长的路径:
非抢占式多任务处理或协作式多任务处理意味着该处理是一种共享a.e. CPU时间。在最坏的情况下,他们使用最糟糕的时间来完成任务。
<强> CPU:强> B = 45长于A = 30
45 +
<强> I / O 强> A = 60且B = 45
45 + 60
再次CPU: A = 30
45 + 60 + 30 = 135
答案 1 :(得分:2)
A具有最高优先级,但由于系统是非抢占式的,因此当两个进程同时需要资源时,这只是一个决胜局。
在t = 0时,A使CPU获得30 ms,B等待它需要CPU。
在t = 30时,A释放CPU,B使CPU获得45 ms,而A获得60 ms的I / O.
在t = 75时,CPU处于空闲状态,因为B正在等待A完成I / O,而A尚未准备好使用CPU。
在t = 90时,A释放I / O并使CPU再持续30 ms,而B获得I / O 45 ms。
在t = 120时,A释放CPU并完成。
在t = 135时,B释放I / O并完成。
答案 2 :(得分:1)
我将简要解释一下,请详细说明您的课堂讨论: 你的答案:135 当进程A等待I / O任务时,CPU时间将被提供给进程B.因此进程A和B的完整时间将是
进程A(CPU)+进程A I / O和进程B CPU +进程B I / O. 30 + 60 + 45 = 135 ms