操作系统计算题.docx

四、计算题 1.有以下三个作业,分别采用先来先服务和短作业优先作业调度算法。试问它们的平均周转时间各是什么?是否还可以给出一种更好的调度算法,使其平均周转时间优于这两种调度算法? 作 业 到达时间 所需CPU时间 1 0.0 8 2 0.4 4 3 1.0 1 解:(1)采用先来先服务作业调度算法时的实施过程如下。 作 业 到达时间 所需CPU时间 开始时间 完成时间 周转时间 1 0.0 8 0.0 8.0 8.0 2 0.4 4 8.0 12.0 11.6 3 1.0 1 12.0 13.0 12.0 这时,作业的调度顺序是1→2→3。其平均周转时间为:(8 + 11.6 + 12)/ 3 = 10.53 (2)采用短作业优先作业调度算法时的实施过程如下。 作 业 到达时间 所需CPU时间 开始时间 完成时间 周转时间 1 0.0 8 0.0 8.0 8.0 3 1.0 1 8.0 9.0 8.0 2 0.4 4 9.0 13.0 12.6 这里要注意,在作业1运行完毕进行作业调度时,作业2和3都已经到达。由于是实行短作业优先作业调度算法,因此先调度作业3运行,最后调度作业2运行。所以,这时的作业调度顺序是1→3→2。其平均周转时间为:(8 + 8 + 12.6)/ 3 = 9.53 (3)还可以有更好的作业调度算法,使其平均周转时间优于这两种调度算法。例如,如果知道在作业1后面会来两个短作业,那么作业1到达后,先不投入运行。而是等所有作业到齐后,再按照短作业优先作业调度算法进行调度,具体实施过程如下。 作 业 到达时间 所需CPU时间 开始时间 完成时间 周转时间 3 1.0 1 1.0 2.0 1.0 2 0.4 4 2.0 6.0 5.6 1 0.0 8 6.0 14.0 14.0 这时的作业调度顺序是3→2→1。其平均周转时间为:(1 + 5.6 + 14)/ 3 = 6.87 2.有一组作业,它们的到达时间和所需CPU时间如下所示,分别采用先来先服务和短作业优先作业调度算法,给出它们的调度顺序、作业周转时间以及平均周转时间。 作业号 到达时间 所需CPU时间 1 9:00 70分钟 2 9:40 30分钟 3 9:50 10分钟 4 10:10 5分钟 解:(1)采用先来先服务作业调度算法时的实施过程如下: 作业号 到达时间 所需CPU时间 开始时间 完成时间 周转时间 1 9:00 70分钟 9:00 10:10 70分钟 2 9:40 30分钟 10:10 10:40 60分钟 3 9:50 10分钟 10:40 10:50 60分钟 4 10:10 5分钟 10:50 10:55 45分钟 这时,作业的调度顺序是1→2→3→4,其平均周转时间为:(70 + 60 + 60 + 45)/ 4 = 58.75 (2)采用短作业优先作业调度算法时的实施过程如下: 作业号 到达时间 所需CPU时间 开始时间 完成时间 周转时间 1 9:00 70分钟 9:00 10:10 70分钟 4 10:10 5分钟 10:10 10:15 5分钟 3 9:50 10分钟 10:15 10:25 35分钟 2 9:40 30分钟 10:25 10:55 75分钟 这时,作业的调度顺序是1→4→3→2,其平均周转时间为:(70 + 5 + 35 + 75)/ 4 = 46.25 三、简答题 1.对临界区的管理应遵循哪些基本准则? 答:为了合理利用临界资源,保证进程互斥地进入临界区,对临界区的管理应遵循以下准则: (1)空闲让进。当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。 (2)忙则等待。当已有进程进入临界区时,表明临界资源正在被访问,因而其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。 (3)有限等待。对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。 (4)让权等待。当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。 2.什么是死锁?死锁的预防措施有哪些? 答:死锁是指多个并发执行的进程因竞争系统资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进。 由于产生死锁的4个必要条件必须同时存在,系统才会产生死锁,所以,只要使4个必要条件中至少有一个不能成立,就可以达到预防死锁的目的。(1)破坏“请求和保持”条件,优点是简单、易于实现且很安全;(2)破坏“不剥夺”条件,在采用这种方法预防死锁时,进程是在需要资源时才提出请求。这样,一个已经保持了某些资源的进程,当它再提出新的资源要求而不能立即得到满足时,必须释放它已经保持的所有资源,待以后需要时再

文档评论(0)

1亿VIP精品文档

相关文档