在有一台处理机CPU和两台输入/输出设备IO1和IO2,且能够实现抢先式多任务并行工作的多道程序内,投入运行优先级由高到低P1,P2,P3三个作业。它们使用设备的先后顺序和占用设备时间分别是: 作业P1:IO2(30 ms),CPU(10 ms),

admin2017-08-31  38

问题 在有一台处理机CPU和两台输入/输出设备IO1和IO2,且能够实现抢先式多任务并行工作的多道程序内,投入运行优先级由高到低P1,P2,P3三个作业。它们使用设备的先后顺序和占用设备时间分别是:
    作业P1:IO2(30 ms),CPU(10 ms),IO1(30 ms),CPU(10 ms)。
    作业P2:IO1(20 ms),CPU(20 ms),IO2(40 ms)。
    作业P3:CPU(30 ms),IO1(20 ms)。
    在对于其他辅助操作时间可以忽略不计的假设下,作业P1,P2,P3从投入到完成,CPU的空闲时长为(    )。假定在系统中仅有这三个作业投入运行。

选项 A、10
B、20
C、30
D、40

答案B

解析 在多任务系统中,多任务在宏观上是并行的,微观上是串行的。从宏观上看,多任务并行使用系统资源(如处理器、I/O设备);微观上,大部分资源是在串行地为这些任务服务。因此,系统必须进行调度,使系统资源有效合理地为任务提供服务。调度的算法有先来先服务法、优先数法、短作业优先法、响应比高者优先法等。优先数法调度时,根据作业的优先级别,级别高者先调度。在抢先式多任务系统中,CPU是可抢先的,即任何时刻CPU总是分配给需要CPU的优先级最高的作业。
    根据题意,P1,P2,P3的运行优先级由高到低,在抢先式并行工作方式下,作业的执行时序图如图3-5所示。

有些考生不能理解此图。这个时序图应这么看:P1前30 ms使用IO2,所以时序图中,IO2第一段30 ms标记为P1。P2前20 ms使用IO1,IO1第一段20 ms标记为P2;P3前20 ms使用CPU,CPU第一段20 ms标记为P3;还有一点要注意,CPU资源是可以抢占的,从30~40看得出来,P2本来要用20 ms CPU,但还只用了10ms就被P1抢去了。所以从图中可知,三个作业从投入到完成总的运行时间为90 ms。CPU,IO1,IO2的有效工作时间均为70 ms,因此CPU有20 ms时间是空闲的。
转载请注明原文地址:https://kaotiyun.com/show/fjRZ777K
0

相关试题推荐
最新回复(0)