说明:题号前带*的为作业题。
计算机操作系统(第四版) 汤小丹 配套资源:https://blog.csdn.net/COCO56/article/details/101201389
文章目录
- 1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
- 2. 处理机调度算法的共同目标是什么?批处理系统的调度目标又是什么?
- 3. 何谓作业、作业步和作业流?
- 7. 试说明低级调度的主要功能。
- 8. 在抢占调度方式中,抢占的原则是什么?
- 9. 在选择调度方式和调度算法时,应遵循的准则是什么?
- 10.在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?
- 20. 按调度方式可将实时调度算法分为哪几种?
- *27. 何谓死锁?产生死锁的原因和必要条件是什么?
- *30.在教材银行家算法的例子中,如果 P 0 P_0 P0发出的请求向量由Request0(0, 2, 0)改为Request0(0, 1, 0),问系统可否将资源分配给它?
- *31 在银行家算法中,若出现下述资源分配情
1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
答:高级调度的主要任务是根据某种算法,把外存上处于后备队列中的那些作业调入内存。低级调度是保存处理机的现场信息,按某种算法选取进程,再把处理器分配给进程。引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。
使那些暂时不能运行的进程不再占用内存资源,将它们调至外存等待,把进程状
态改为就绪驻外存状态或挂起状态。
2. 处理机调度算法的共同目标是什么?批处理系统的调度目标又是什么?
共同目标:资源利用率,公平性,平衡性,策略强制执行。
批处理系统的调度目标:平均周转时间短,系统吞吐量高,处理机利用率高。
3. 何谓作业、作业步和作业流?
答:作业包含通常的程序和数据,还配有作业说明书。系统根据该说明书对程序的运行进行控制。批处理系统中是以作业为基本单位从外存调入内存。作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
7. 试说明低级调度的主要功能。
答:(1)保存处理机的现场信息(2)按某种算法选取进程(3)把处理机分配给进程。
8. 在抢占调度方式中,抢占的原则是什么?
答:抢占的原则有:时间片原则、优先权原则、短作业优先权原则等。
9. 在选择调度方式和调度算法时,应遵循的准则是什么?
答:(1)面向用户的准则:周转时间短、响应时间快、截止时间的保证、优先权准则。
(2)面向系统的准则:系统吞吐量高、处理机利用率好、各类资源的平衡利用。
10.在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?
答:批处理系统的调度算法:短作业优先、优先权、高响应比优先、多级反馈队列调度算法。
分时系统的调度算法:时间片轮转法。
实时系统的调度算法:最早截止时间优先即EDF、最低松弛度优先即LLF算法。
20. 按调度方式可将实时调度算法分为哪几种?
答:按调度方式不同,可分为非抢占调度算法和抢占调度算法两种。
*27. 何谓死锁?产生死锁的原因和必要条件是什么?
答:
- 死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;
- 产生死锁的原因有二:一是竞争资源,二是进程推进顺序非法;
- 必要条件是:互斥条件,请求和保持条件,不剥夺条件和环路等待条件。
*30.在教材银行家算法的例子中,如果 P 0 P_0 P0发出的请求向量由Request0(0, 2, 0)改为Request0(0, 1, 0),问系统可否将资源分配给它?
答:
P
0
P_0
P0发出请求向量Requst0(0, 1, 0),按银行家算法进行检查:
①Request0(0, 1,0)≤Need0 (7,4,3);
②Request0(0,1,0) ≤Available(2, 3,0) ;
③系统暂时先假定可为
P
0
P_0
P0分配资源,修改Available, Allocation1和Need1
向量在下面数据结构中的数值:
Available[j] : =Available[j] -Request i[j];
Allocation [i,j] : =Allocation [i, j] +Request i [j] ;
eed [i,j] : =Need [i,j] - Request i [j] ;
计算结果为:
Available0 = Available0 (2, 3, 0)- Request0(0, 1,0)= (2, 2, 0)
Allocation0=Allocation0 (0, 1,0) + Request0(0, 1,0)= (0,2, 0)
Need0=Need0 (7,4,3) - Request0 (0,1,0)= (7,3, 3)
进程 | Work ABC | Allocation ABC | Need ABC | Work-Allocation ABC | Finish |
---|---|---|---|---|---|
P0⑤ | 10 5 7 | 0 2 0 | 7 3 3 | 10 7 7 | True |
P1① | 5 2 2 | 3 0 2 | 0 2 0 | 8 2 4 | True |
P2④ | 10 3 7 | 3 0 2 | 6 0 0 | 13 3 9 | True |
P3② | 7 3 3 | 2 1 1 | 0 1 1 | 9 4 4 | True |
P4③ | 7 3 5 | 0 0 2 | 4 3 1 | 7 3 7 | True |
可以找到一个安全序列{P1, P3, P4, P2, P0},所以系统是安全的,系统可以立
即将P1所申请的资源(0,1,0)分配给它。给P1分配资源之后,系统的资源数
目Available=(2, 2,0)
*31 在银行家算法中,若出现下述资源分配情
Process | Allocatio n | Need | Available |
---|---|---|---|
P 0 P_0 P0 | 0032 | 0012 | 1622 |
P 1 P_1 P1 | 1000 | 1750 | |
P 2 P_2 P2 | 1354 | 2356 | |
P 3 P_3 P3 | 0332 | 0652 | |
P 4 P_4 P4 | 0014 | 0656 |
试问:
(1)该状态是否安全?
(2)若进程
P
2
P_2
P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
答:
(1)该状态是安全的,因为存在一个安全序列<
P
0
P
3
P
4
P
1
P
2
P_0P_3P_4P_1P_2
P0P3P4P1P2>。 下表为该时刻的安全序列表。
(2)若进程P2提出请求Request(1, 2, 2,2)后,系统不能将资源分配给它,若分配给进程P2,系统还剩的资源情况为(0, 4, 0, 0),此时系统中的资源将无法满足任何一个进程的资源请求,从而导致系统进入不安全状态,容易引起死锁的发生。