一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达,它们的计算和I/O操作顺序如下: P1:计算60ms,I/O80ms,计算20ms P2:计算120ms,I/O40ms,计算40ms 若不考虑调度和切换时间,则完成两个作业需要的时间最少是( ) A. 240ms B. 260ms C. 340ms D. 360ms
具体过程
多道批处理作业顺序执行,没有并行,所以把所有时间加起来即可d60ms。
多道就能执行多个批处理任务;批处理就是把一堆工作列为一个合集,分步执行。
1、多任务系统分为2类:
非抢占式多任务:除非进程自己主动停止运行,否则它会一直执行;
抢占式多任务:有调度程序来决定什么时候停止某一进程的运行,以便其它进程能够得到执行机会。linux采用的是此种方式。
2、进程对于处理的使用上,也分为2类:
I/O消耗型:有大量的磁盘、网络io操作,这种进程,其大部分时间都堵塞在io请求及其响应上;
处理器消耗型:这种程序大部分是算法很复杂,一个极端的例子就是while(1),死循环。
高优先级的进程,先运行,并且其享用的时间片较长。低优先级进程则反之。
扩展资料:
1、多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。
2、成批:在系统运行过程中,不允许用户与其作业发生交互作用,即:作业一旦进入系统,用户就不能直接干预其作业的运行。
参考资料来源:百度百科-多道批处理系统
多道批处理系统中多个作业可以并发执行,但仅有一个作业处于运行状态。
当P1进入系统执行时,P2还没有到达,所以先执行P1,P1执行60ms后发生I/O请求,此时P1暂停执行,由中断处理程序转向执行I/O。
P1暂停后,此时P2已经进入系统,但因之前P1在执行p2只能等待,当P1暂停后系统会转向执行P2。同理,当P2执行120ms后暂停去执行I/O操作,此时继续执行P1 20ms,直至p1执行完成。
因P2I/O操作需要40ms,所以p1执行完成后P2又等待20ms,然后继续执行40ms。
总时间为60+120+20+20+40=260ms。
如果考虑抢占,有两种情况:
(1)P1优先级高于P2,分析方法同上,则总时间为
60(p1执行)+80(p2执行)+20(p1执行)+40(p2执行)+40(p2等待)+40(p2执行)=280。(2)p2优先级高于p1,分析方法同上,则总时间为
5(p1执行)+120(p2执行)+40(p1执行)+40(p2执行)+15(p1执行)+80(p1等待)+20(p1执行)=320.
所以最短为260ms。