第三章 处理机调度与死锁
一、简答题
1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
1)高级调度的主要任务是将外存的作业调入内存,又称作业调度;
低级调度的主要任务数为内存中处于就绪态的作业分配处理机。
2)为了提高内存的利用率与系统吞吐量。
2.何谓作业和JCB?
1)作业是一组程序与数据和作业说明书,是高级调度的基本单位;
2)JCB是作业控制块,是作业存在的表示,包含管理,调度所需的全部信息。
3.在什么情况下需要使用JCB?其中包含了哪些内容?
1)作业进入系统;
2)包含系统对作业调度,管理的全部信息。
4.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?
取决于多道程序度和调度算法。
5.试说明低级调度的主要功能。
从就绪队列中根据调度算法选择一个进程分配处理机。
6.简述引起进程调度的原因。
1)时间片完了;2)阻塞了;3)运行完了;4)被抢占了
7.在抢占式调度算法中,抢占的原则是什么?
1)优先级;2)短进程优先;3)时间片原则
8.在选择调度方式和调度算法时,应遵循哪些准则?
1)公平性;2)资源利用率;3)平衡性;4)强制执行
9.何谓静态优先级和动态优先级?确定进程优先级的依据是什么?
1)静态优先级创建进程时就确定,动态优先级随着时间与环境变化而改变。
2)用户要求,进程对cpu io等资源的要求, 进程类型。
10.试比较FCFS和SJF这两种调度算法。
1)先来先服务周转时间长,对短进程不利,不能实现交互,紧急作业得不到处理但进程无饿死。
2)短进程优先要先知道作业运行时间,且对长进程不利,没有考虑进程的紧迫性,并且容易饿死。
11.在基于时间片的RR调度算法中,应如何确定时间片的大小?
一次时间片的大小要略大于一次典型交汇所需的时间。
12.为什么说多级反馈队列调度算法能比较好地满足各方面用户的需求?
多级反馈队列算法每个队列可以设置不同的调度算法,使得短进程在第一队列完成,而长队列也得到了处理,不会出现长时间得不到处理现象。
13.为什么在实时系统中要求系统(尤其是CPU)具有具有较强的处理能力?
在实时系统中,若同一时间段要完成的任务多,就会造成处理机来不及处理,任务完不成造成灾难性后果。
14.按照调度方式可将实时调度算法分为哪几种?
抢占式和非抢占式。
15.实时系统常用的调度算法有哪些?请分别介绍它们。
1)最早截止时间:截止时间越早,优先级越高,可以是抢占式,也可以是非抢占式;
2)最低松弛度优先:截止时间减去当前时间,减去所需时间为松弛度,松弛度越低优先级越高,松弛度为0,优先级最高。
16.在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?
1)批处理系统:先来先服务,短进程优先,优先级调度。
2)分时系统:只有轮转。
3)实时系统:轮转和优先级调度算法。
17.什么是死锁?产生死锁的原因和必要条件是什么?如何预防死锁?
1)死锁是多个进程持有别的进程需要的资源而自己无法获得需要的资源而处于僵持阻塞状态。
2)不可剥夺,请求与保持,互斥访问,循环等待。
3)破坏死锁产生的四个条件。
18.在解决死锁问题的几个方法中,哪个方法最易于实现?哪个方法可使资源利用率最高?
预防死锁;避免死锁
二、 计算题
19.有5个进程需要调度执行,若采用非抢占式优先级(短进程优先)调度算法,问这5个进程的平均周转时间是多少?
表3-2 进程执行时间表
20.假定要在一台处理机上执行表3-3所示的作业,且假定这些作业在时刻0以1,2,3,4,5的顺序到达。请说明分别采用FCFS、RR(时间片为1)、SJF机非抢占式优先级调度算法时,这些作业的执行情况(优先级的高低顺序依次为1到5)。针对上述每种调度算法,给出平均周转时间和平均带权周转时间。
表3-3 作业执行时间表
21.将一组进程分为4类,如图3-23所示。各类进程之间采用优先级调度算法,而各类进程的内部采用RR调度算法。
图3-23 进程分类图
请简述P1,P2,P3,P4,P5,P6,P7,P8进程的调度过程。
优先级4进程内部的P1P2P3进程先使用时间片轮转算法先运行完,然后以此运行剩余优先级内部进程。
22.由5个进程组成进程集合P={P0,P1,P2,P3,P4},且系统中有3类资源A,B,C,假设在某时刻有表3-4的进程资源分配情况。
请问当x,y,z取下列值时,系统是否处于安全状态?
表3-4 进程资源分配情况
(1) 1,4,0; (2) 0,6,2; (3) 1,1,1; (4) 0,4,7。
(1)安全; (2)不安全; (3)不安全; (4)不安全
过程不是很nice,就没写出来,给各位看官找了一个例题。
银行家算法:https://blog.csdn.net/weixin_46069678/article/details/106960153