当前位置:首页 > 操作系统原理课件and习题
信号量及其初值。
(3) 修改上述程序,使两个进程能交替使用资源r。
6.某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:
(1) 用P、V操作管理这些并发进程时,应怎样定义信号量?写出信号量的初值以及信号量各种取值的含义。
(2) 根据所定义的信号量,把应执行的P、V操作填入下述程序中,以保证进程能够正确地并发执行。
COBEGIN PROCESS Pi (i=1,2,…..) Begin
;
进入售票厅 ; 购票;
; 退出; End; COEND
(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。 7. 进程之间存在哪几种相互制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?
(1)若干同学去图书馆借书; (2)两队举行篮球比赛; (3)流水线生产的各道工序; (4)商品生产和社会消费。 8.设有两个优先级相同的进程P1和P2如下。信号量S1和S2的初值均为0,试问P1、P2并发执行结束后,x=?,y=?,z=?
〈进程P1〉 〈进程P2〉
y:=1; x:=1; y:=y+2; x:=x+1; V(S1); P(S1); z:=y+1; x:=x+y; P(S2); V(S2); y:=z+y; z:=x+z;
9. 已知系统中有四个缓冲池M1,M2,M3,M4。其大小分别为3、2、2,各缓冲池分
别存在0,1,0,2个缓冲区有数据。现同时有四个进程P1,P2,P3,P4分别在各缓冲区间不断地移动数据。见下图。例如,P1进程从M1向M2移动数据。试用信号量及其P、V(或signal,wait)操作及类Pasic/C语言描述各进程之间的同步关系,并给出各信号量的含义和初值。
P4 M1 M4 P1 M2 P3 M3 P2
第四章 习题
4.1 选择最合适的答案
1.某系统采用了银行家算法,则下列叙述正确的是( )。 A.系统处于不安全状态时一定会发生死锁 B.系统处于不安全状态时可能会发生死锁 C.系统处于安全状态时可能会发生死锁 D.系统处于安全状态时一定会发生死锁
2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是( )。
A.Max[i,j]=Allocation[i,j]+Need[i,j] B.Need[i,j]= Allocation[i,j]+ Max[i,j] C.Max[i,j]= Available[i,j]+Need[i,j] D.Need[i,j]= Available[i,j]+ Max[i,j] 3.下列进程调度算法中,( )可能会出现进程长期得不到调度的情况。 A.非抢占式静态优先权法 B.抢占式静态优先权法 C.时间片轮转调度算法 D.非抢占式动态优先权法
4.在下列选项中,属于预防死锁的方法是( )。 A.剥夺资源法 B.资源分配图简化法 C.资源随意分配 D.银行家算法
5.在下列选项中,属于检测死锁的方法是( )。 A.银行家算法 B.消进程法
C.资源静态分配法 D.资源分配图简化法 6.在下列选项中,属于解除死锁的方法是( )。 A.剥夺资源法 B.资源分配图简化法 C.银行家算法 D.资源静态分配法 7.为了照顾紧迫型作业,应采用( )。
A.先来服务调度算法 B.短作业优先调度算法 C.时间片轮转调度算法 D.优先权调度算法
8.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和( )相同。
A.先来先服务调度算法 B.短作业优先调度算法 C.时间片轮转调度算法 D.长作业优先调度算法 9.作业从后备作业到被调度程序选中的时间称为( )。 A.周转时间 B.响应时间
C.等待调度时间 D.运行时间
10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的( )不成立。 A.互斥条件 B.请求和保持条件 C.不可剥夺条件 D.环路等待条件
4.2 选择所有正确答案
1.下列选项中,( )可能是非抢占方式进程调度中引起调度的原因。 A.当前的运行进程调用阻塞原语而进入阻塞状态 B.当前的运行进程提出申请I/O而阻塞
C.有更高优先级的进程到达而从执行状态变为就绪状态 D.正在执行的进程执行了P原语操作,由于资源不足而阻塞
2.选择排队作业中等待时间最长的作业被优先调度,该调度算法不可能是( )。 A.先来先服务调度算法 B.高响应比优先调度算法 C.优先权调度算法 D.短作业优先调度算法
3.作业控制块JCB连成一串而形成的一个排队队列,该队列称为( )。 A挂起队列 B.阻塞队列 C.就绪队列 D.后备队列
4.下列哪个选项描述的时间属于响应时间的一部分( )。 A.处理机对请求信息进行处理的时间
B.从键盘输入的请求信息传送到处理机的时间 C.所形成的响应回送到终端显示器的时间 D.用户查看响应回送到的信息
5.下列四个选项描述的时间组成了周转时间,其中可能发生多次的是( )。 A.等待I/O操作完成的时间
B.作业在外存后备队列上等待作业调度的时间 C.进程在CPU上的执行时间
D.进程在就绪队列上等待进程调度的时间
6.下面列出的是选择调度方式和算法的4个面向用户的准则。其中,不完全适用于实时系统的准则是( )。
A.优先权准则 B.响应时间快 C.截止时间的保证 D.周转时间短
7.下面列出了选择调度方式和算法的4个准则。其中,对批处理、分时、实时系统都可以采用的是( )。
A.周转时间短 B.响应时间快 C.截止时间的保证 D.优先权准则 8.下列选项中,( )是分时系统中确定时间片大小需要考虑的因素。 A.各类资源的平衡利用 B.就绪队列中进程的数目 C.系统的处理能力 D.系统对响应时间的要求 9.下面列出的选项中,属于可剥夺性资源的有( )。 A.CPU B.内存 C.磁盘 D.磁带机
10.在多级队列调度和多级反馈队列调度的叙述中,正确的是( )。
A.多级反馈队列调度中就绪队列的设置不是象多级队列调度一样按作业性质划分,而是按时间片的大小划分
B.多级队列调度用到优先权,而多级反馈队列调度中没有用到优先权
C.多级队列调度中的进程固定在某一个队列中,而多级反馈队列调度中的进程不固定
D.多级队列调度中每个队列按作业性质不同而采用不同的调度算法,而多级反馈队列调度中除了个别队列外,均采用相同的调度算法
4.3 判断正误,简要说明理由
1.作业调度能够使作业获得CPU。
2.在多道程序系统中,系统的现有空闲可用资源能否满足一个后备作业J的资源要求,是选择作业J进入内存的必要条件。
3.短作业(进程)优先调度算法具有最短的平均周转时间,因此这种算法是最好的算法。
4.在优先权调度算法中确定静态优先权时,一般说,计算进程的优先权要高于磁盘I/O进程的优先权。
5.摒弃不可剥夺条件的方法可用于预防多个打印进程死锁的发生。
6.操作系统处理死锁,只要采用预防、解除、检测、避免之中的一种就足够了。 7.如果系统在所有进程运行前,一次性地将其在整个运行过程所需的全部资源分配给进程,即所谓“静态分配”法,是可以预防死锁发生的。
8.多个进程竞争比进程数目少的资源时就可能产生死锁,而当资源数目大于进程数目时就一定不会发生死锁。
9.在银行家算法中,对某时刻的资源分配情况进行安全分析,如果该时刻状态是安全的,则存在一个安全序列,且这个安全序列是唯一的。
10.进程调度算法各种各样,但是如果选择不当,就会造成死锁。
4.4 简答题
1.高级调度和低级调度的主要任务是什么?为什么要引入中级调度? 2.在作业调度中需作出哪些决定? 3.在剥夺调度中,有哪些剥夺原则?
4.在OS中引起进程调度的主要因素有哪些?
5.在选择调度方式和调度算法时,应遵循的原则是什么?
6.在批处理系统、分时系统和实时系统中,各采用哪几个进程(作业)调度算法? 7.为什么说多级反馈队列能较好地满足各种用户的需要?
8.在多用户分时系统中,时间片轮转调度的算法在确定时间片的大小时,应考虑哪些因素?
9.为实现实时调度,对实时系统提出了哪些要求?
10.目前常用的调度方式和算法,能否应用到实时系统中?
11.在多处理机系统中,比较有代表性的线程调度方式有哪几种? 12.试比较自调度和成组调度?
13.在OS/2中采用哪种调度方式和调度算法?
14.何为死锁?产生死锁的原因和必要条件是什么? 15.在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高?
16.请详细说明可通过哪些途径预防死锁? 17.在银行家算法的例子中,如果P0发出的请求向量由Request0(0,2,0)改为Request0(0,1,0),
共分享92篇相关文档