操作系统第3章练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章处理机调度与死锁
3.1 典型例题解析
【例1】(1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问系统是否会因为竞争该资源而死锁?(2)n个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n。说明该系统不会因竞争该类资源而阻塞。(3)在(2)中,如果没有“每个进程都需要用该类资源”的限制,情况又会如何?(西北工业大学2000年考题)
答:(1)该系统不会因为竞争该类资源而死锁。因为,必有一个进程可获得2个资源,故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。
(2)用Max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知:
need(i)>0(对所有的i)
max(1)+…max(i)+…+max(n) 如果在这个系统中发生了死锁,则意味着已有一个以上的进程因申请不到该类资源而无限阻塞,而m个资源应该全部分配出去,即 alloc(1)+…alloc(i)+…+alloc(n)=m 因此 need(1)+…need(i)+…+need(n)=max(1)+…max(i)+…+max(n)-alloc(1)+…alloc(i)+…+alloc(n) 即 need(1)+…need(i)+…+need(n) 这样,至少必须存在一个进程,其need(i)≤0,这显然与题意不符,所以该系统不可能因竞争该类资源而进入死锁状态。 (3)此时系统可能发生死锁,如n=4,m=3时,若P1的Max为0,而其余三个进程的Max 都为2,则仍然满足最大需求量之和(即6)小于m+n(即7)的要求,但当除P1以外的其余三个进程各得到一个资源时,这三个进程将进入死锁状态。 【例2】设系统中有3种类型的资源A、B、C和5个进程P0、P1、P2、P3、P4,A资源的数量为10,B资源的数量为5,C资源的数量为7。在T0时刻系统状态如下表所示。系统采 (2)在T0时刻若进程P1发出资源请求Request(1,0,2),是否能够实施资源分配?(3)在②的基础上P4发出资源请求Request(3,3,0),是否能够实施资源分配? (4)在③的基础上P0发出资源请求Request(0,2,0),是否能够实施资源分配? 答:(1) 利用银行家算法对T0时刻的资源分配情况进行分析,可得此时刻的安全性分析情 况: 可知,在T0时刻存在着一个安全序列{P1、P3、P4、P2、P0},故系统是安全的。(2)P1请求资源Request(1,0,2),系统按银行家算法进行检查:Request(1,0,2)≤Need(1,2,2) Request(1,0,2)≤Available(3,3,2) 系统试探分配,修改相应的向量,形成的资源变化情况如下表所示: 由安全性算法检查可知,可以找到一个安全序列{P1、P3、P4、P0、P2}。因此,系统是安全的,可以立即把P1所申请的资源分配给它。 (3)P4发出资源请求Request(3,0,0),系统按照银行家算法进行检查: Request(3,3,0)≤Need(4,3,1) Request(3,3,0)≮Available(2,3,0),所以让P4等待。 (4)P0发出资源请求Request(0,2,0),系统按照银行家算法进行检查: Request(0,2,0)≤Need(7,4,3) Request(0,2,0)≤Available(2,3,0) 系统试探分配,修改相应的向量,形成的资源变化情况如下表所示: 进行安全性检查,可用资源Available(2,1,0)已不能满足任何进程的需要,故系统进入不安全状态,此时系统不分配资源。 3.2 练习题 一、单项选择题 1.任何时刻总是让具有最高优先数的进程占用处理器,此时采用的进程调度算法是()。 A.非抢占式的优先数调度算法 B.时间片轮转调度算法 C.先来先服务调度算法 D.抢占式的优先数调度算法 2.抢占式的优先数调度算法在()中很有用。 A.网络操作系统 B.分布式系统 C.批处理系统 D.实时系统 3.下列算法中,()只能采用非抢占调度方式,()只能采用抢占调度方式,而其余的算法既可采用抢占方式,也可采用非抢占方式。 A.高优先权优先法 B.时间片轮转法 C.FCFS调度算法 D.短作业优先算法 4.下列进程调度算法中,综合考虑进程等待时间和执行时间的是()。 A.时间片轮转调度算法 B.短进程优先调度算法 C.先来先服务调度算法 D.高响应比优先调度算法 5.进程调度的关键问题是() A.时间片大小 B.进程调度算法 C.CPU速度 D.内存空间利用率 6.下列选项中,降低进程优先权级的合理时机是()。 A.进程的时间片用完 B.进程刚完成I/O,进入就绪队列 C.进程长期处于就绪队列中 D.进程从就绪状态转为运行态 7.采用时间片轮转调度算法是为了() A.多个终端用户能得到系统的及时响应 B.先来先服务 C.CPU最短的进程先执行 D.优先级高的进程能得到及时调度 8.下面关于优先权大小的叙述中正确的是()。 A.用户进程的优先权,应高于系统进程的优先权 B.在动态优先权中,随着作业的等待时间的增加,其优先权将随之增加 C.资源要求多的作业,其优先权应高于资源要求少的作业 D.长作业的优先权,应高于短作业的优先权 9.作业调度算法的选择常考虑的因素之一是使系统有最高的吞吐量,为此应()。 A.不让处理机空闲 B.能够处理尽可能多的作业 C.使用户们都满意 D.不使磁头过于复杂 10.在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是()。 A.先来先服务 B.高优先权优先 C.短作业优先 D.高响应比优先 11.作业调度程序从()队列中选取适当的作业投入运行。 A.就绪 B.提交 C.运行 D.后备 12.在批处理系统中,用户的作业是由()组成的。 A.程序 B.程序+数据+作业说明书 C.程序+作业说明书 D.程序+数据 13.假设下述四个作业同时到达,当使用最高优先数优先调度算法时,作业的平均周转时间 14.一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是()。 A. 2 B. 1 C. 3 D. 0.5 15.下面哪个算法适用于分时系统中的进程调度()。 A.FCFS B.时间片轮转 C.CPU为主的优先 D.动态优先数法 16.在多道批处理系统中,为充分利用各种资源,运行的程序应具备的条件是()。 A.适应于内存分配的 B.计算量大的 C.I/O量大的 D.计算型和I/O型均衡的 17.下面的叙述中正确的是()。 A.安全状态是没有死锁的状态,非安全状态是有死锁的状态。 B.安全状态是可能有死锁的状态,非安全状态也是可能有死锁的状态 C.安全状态是可能没有死锁的状态,非安全状态是有死锁的状态 D.安全状态是没有死锁的状态,非安全状态是可能有死锁的状态 18.除了进程竞争资源,因为资源不足可能出现死锁以外,不适当的()也可能产生死锁。 A.进程优先权 B.资源的线性分配 C.进程推进顺序 D.分配队列优先权 19.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏()条件是不太实际的。 A.互斥 B.请求和保持 C.不剥夺 D.环路等待