考研真题4

本文详细阐述了操作系统中进程调度的概念,包括就绪队列、作业调度和不同调度算法如FCFS、RR(时间片轮转)和SJF的特性。同时讨论了死锁的问题,包括死锁的定义、原因、必要条件以及预防策略。此外,还分析了不同调度算法下的平均周转时间和平均带权周转时间,并举例说明了资源分配对系统性能的影响。
摘要由CSDN通过智能技术生成

1.进程调度是指根据一定的调度算法,从( )队列中挑选出一个进程,并分配给它CPU。作业调度程序从处于( )状态的队列中先取适当的作业调入内存运行。

正确答案:

第一空:
就绪

第二空:
后备

2.请简要阐明RR调度算法的基本思想。请分析:①假设时间片的长度无限长,这时的RR调度算法具有什么样的特点?②假设时间片的长度被无限缩短,这时的RR调度算法又具有什么样的特点?
正确答案:

第一空:
如果时间片无限长,即所有的算法在分配的时间片内都能完成,这时的RR调度算法会被简化成FCFS调度算法,这对于短作业可能不利。

第二空:
假设时间片被无限缩短,这时采用RR调度算法,进程切换和进程调度会频繁发生,这会导致系统开销增大。

3.现有3个同时到达的作业J1、J2和J3,它们的执行时间分别为T1、T2和T3,且T1<T3<T2。若这3个作业在同一个处理机上以单道方式执行,则平均周转时间最小的执行顺序是( )。
正确答案:

第一空:
J1→J3→J2

4.什么是死锁?产生死锁的原因和必要条件是什么?如何预防死锁?
正确答案:

第一空:
死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法向前推进。

第二空:
产生死锁的原因有:①竞争不可抢占性资源;②竞争可消耗资源;③进程间推进顺序不当。

第三空:
产生死锁必须同时具备4个必要条件:互斥条件、请求和保持条件、不可抢占条件、循环等待条件。

第四空:
预防死锁是通过破坏产生死锁的4个必要条件中的一个或几个来实现的。其中互斥条件是设备固有属性,不能改变,因此主要破坏产生死锁的其他3个必要条件。①破坏“请求和保持”条件。当一个进程在请求资源时,它不能持有不可抢占性资源。②破坏“不可抢占”条件。当一个已经保持了某些不可抢占性资源的进程提出新的资源请求而不能得到满足时,它必须释放已经保持的所有资源,待以后需要时再重新申请。③破坏“循环等待”条件。对系统所有资源类型进行线性排序,并赋予它们不同的序号,规定每个进程必须按序号递增的方式请求资源。

5.假定要在一台处理机上执行表 1-3-2 所示的作业,且假定这些作业 在时刻 0 以 1,2,3,4,5 的顺序到达。请说明分别采用 FCFS、RR(时间片为 1)、SJF 及非抢占式优先级调度算法时,这些作业的执行情况(优先级的高低顺序依次为 1 到 5)。 针对上述每种调度算法,给出平均周转时间和平均带权周转时间。作业的优先级与执行时间表如下表所示

请添加图片描述

正确答案:

第一空:
作业执行顺序如下图所示。

FCFS:

1

2

3

4

5

RR:

1

2

3

4

5

1

3

5

1

5

1

5

1

5

1

SJF:

2

4

3

5

1

非抢占式优先级:

2

5

1

3

4

第二空:
各个作业对应于各个算法的周转时间和带权周转时间见下表。

算法

时间类型

1

2

3

4

5

平均时间

运行时间

10

1

2

1

5

3.8

FCFS

周转时间

10

11

13

14

19

13.4

带权周转时间

1

11

6.5

14

3.8

7.26

RR

周转时间

19

2

7

4

14

9.2

带权周转时间

1.9

2

3.5

4

2.8

2.84

SJF

周转时间

19

1

4

2

9

7

带权周转时间

1.9

1

2

2

1.8

1.74

非抢占式 优先级

周转时间

16

1

18

19

6

12

带权周转时间

1.6

1

9

19

1.2

6.36

因此,FCFS的平均周转时间为13.4,平均带权周转时间为7.26 。RR的平均周转时间为9.2, 平均带权周转时间为2.84 。SJF的平均周转时间为7,平均带权周转时间为1.74。非抢占式优先级 的平均周转时间为12,平均带权周转时间为6.36。注意: SJF的平均周转时间最短。

6.某系统中有3个并发进程都需要4个同类资源,则保证该系统不会发生死锁的最少资源数是( )。

(2.0分)
正确答案:

第一空:
10

7.已知某系统中所有资源都是相同的,系统中的进程严格按照一次一个的方式申请或释放资源。该系统中没有所需资源数量超过系统所拥有资源总量的进程。请说明在表2-3-6所示的4种情况下是否可能发生死锁。
请添加图片描述

表2-3-6进程资源使用情况

正确答案:

第一空:
情况A:系统中仅有1个进程,资源总数为2,根据题目条件可知,该进程的最大资源需求不超过2,故不会出现死锁情况。

第二空:
情况B:系统中有2个进程,资源总数为1,根据题目条件可知,每个进程的最大资源需求不超过1;假定每个进程的最大资源需求为1,若系统将其资源分配给其中一个进程,则该进程的资源需求能够被满足并可在运行完毕后将资源归还系统,从而使另一个进程也可运行完毕,故不会出现死锁情况。

第三空:
情况C:系统中仅有2个进程,资源总数为2,根据题目条件可知,进程的最大资源需求不超过2,假定每个进程的最大资源需求为2,若系统将2个资源分配给同一个进程,则该进程可以运行完毕并释放资源,从而使另一个进程也可运行完毕。但若系统为每个进程分配一个资源,则没有进程的资源需求能够被满足,从而都会陷入等待状态,导致死锁发生,故在此种情况下可能发生死锁。

第四空:
情况D:系统中仅有2个进程,资源总数为3,根据题目条件可知,进程的最大资源需求不超过3,假定每个进程的最大资源需求为3,若系统将3个资源分配给同一个进程,则该进程可运行完毕并释放资源,另一个进程也可以同样的方式运行完毕。但若系统将3个资源分配给2个进程,一个进程1个资源,另一个进程2个资源,则没有进程的资源需求能够被满足,因此就会导致死锁发生。

8.将“I/O为主”的进程定义为:当此类进程单独运行时,I/O的处理时间远大于处理机的处理时间。将“计算为主"的进程定义为:当此类进程单独运行时,处理机的处理时间远大于I/O的处理时间。若系统中运行的主要是这两类进程,那么用什么样的调度算法更有利于提高系统资源的利用率?为什么?

(4.0分)
正确答案:

第一空:
计算型作业的优先级通常低于I/O型作业的优先级,因此可以采用如下调度算法来提高系统资源的利用率。

(1)I/O型进程:被赋予较高的优先级,以便能及时响应I/O交互。其通常会执行一个小的时间片,在该时间片内,要求其能处理完一次I/O请求的数据,然后转入阻塞队列。

(2)计算型进程:每次都会执行完时间片,因此须降低其优先级。

(3)I/O次数不多而主要是CPU处理的进程:在I/O完成后,将其放回I/O请求时离开的优先级队列,以免每次都回到最高优先级队列后再逐次下降。

(4)I/O完成时,提高优先级;时间片用完时,降低优先级。

9.某系统采用抢占式SJF调度算法,表2-3-7给出了5个进程的到达时间和要求运行时间。

(1)请将表格填写完整。

(2)计算这5个进程的平均带权周转时间。

表2-3-7抢占式作业调度表(待完善)
请添加图片描述

正确答案:

第一空:
进程 开始运行时间 完成时间

P1 0:00 7:00

P2 1:00 2:00

P3 3:00 5:00

P4 7:00 14:00

P5 8:00 10:00

第二空:
进程P1的带权周转时间=(7-0)/4=1.75。

进程P2的带权周转时间=(2-1)/1=1。

进程P3的带权周转时间=(5-3)/2=1。

进程P4的带权周转时间=(14-6)/5=1.6。

进程P5的带权周转时间=(10-8)/2=1。

系统的平均带权周转时间=(1.75+1+1+1.6+1)/5=1.27。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值