操作系统原理-第四章处理机调度习题

合集下载

处理机调度题答案

处理机调度题答案

处理机调度
【例】假设一个系统中有5个进程,它们到达时间和服务时间如表3-1所示,忽略I/O 以及其他开销时间,若分别按先来先服务(FCFS )、非抢占及抢占的短进程优先(SPF )、高响应比优先(HRRN )、时间片轮转(RR ,时间片=1)、多级反馈队列调度算法(FB ,第i 级队列的时间片=1
2-i )以及立即抢占的多级反馈队列调度算法(FB ,第i 级队列的时间片=1
2-i )进行CPU 调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。

表3-1 进程到达和需服务时间
RR调度顺序。

计算机操作系统习题及答案

计算机操作系统习题及答案

第一章操作系统引论一、单项选择题1.操作系统是一种__________。

A.通用软件 B.系统软件C.应用软件 D.软件包2,操作系统的__________管理部分负责对进程进行调度。

A.主存储器 B.控制器C.运算器D.处理机3.操作系统是对__________进行管理的软件。

A.软件B.硬件C,计算机资源 D.应用程序4.从用户的观点看,操作系统是__________。

A.用户与计算机之间的接口B.控制和管理计算机资源的软件C.合理地组织计算机工作流程的软件D.由若干层次的程序按一定的结构组成的有机体5,操作系统的功能是进行处理机管理、_______管理、设备管理及文件管理。

A.进程 B.存储器C.硬件 D.软件6,操作系统中采用多道程序设计技术提高CPU和外部设备的_______。

A.利用率 B.可靠性C.稳定性 D.兼容性7.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的_______和方便用户使用计算机而配备的一种系统软件。

A. 速度B.利用率C. 灵活性 D.兼容性8.操作系统的基本类型主要有_______。

A.批处理系统、分时系统及多任务系统B.实时操作系统、批处理操作系统及分时操作系统C.单用户系统、多用户系统及批处理系统D.实时系统、分时系统和多用户系统9.所谓_______是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。

A. 多重处理 B.多道程序设计C. 实时处理 D.并行执行10. _______操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。

A.网络 D.分布式C.分时 D.实时11.如果分时操作系统的时间片一定,那么_______,则响应时间越长。

A.用户数越少B.用户数越多C.内存越少 D. 内存越多12,分时操作系统通常采用_______策略为用户服务。

A.可靠性和灵活性 B.时间片轮转C.时间片加权分配 D,短作业优先13. _______操作系统允许用户把若干个作业提交给计算机系统。

操作系统原理第四章 处理机调度习题

操作系统原理第四章  处理机调度习题

第四章处理机调度4.3 习题4.3.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.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。

第四章 操作系统处理机调试(张尧学)

第四章 操作系统处理机调试(张尧学)

等待事件
4.1.2 作业与进程
作业是用户向计算机提交任务的任务实体 进程是计算机为了完成用户任务实体而设置
的执行实体,是系统分配资源的基本单位
第四章 处第理9机页调度
4.2 作业调度
作业调度主要是完成作业从后备状态到执行状态的转 变,以及从执行状态到完成状态的转变
第四章 处第理1机0页调度
第四章 处第理1机9页调度
4.3.2 进程调度的时机
(1) 正在执行的进程执行完毕。 (2) 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。 (3) 执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用
了V原语操作激活了等待资源的进程队列。 (4) 执行中进程提出I/O请求后被阻塞。 (5) 在分时系统中时间片已经用完。 (6) 在执行完系统调用
第四章 处第理1机2页调度
图4.3 作业调度中状态的转换过程 第四章 处第理1机3页调度
4.2.2 作业调度目标与性能衡量
作业调度的功能最主要的是从后备作业队列中选取一批作 业进入执行状态。
调度目标主要是以下4点: (1) 对所有作业应该是公平合理的; (2) 应使设备有高的利用率; (3) 每天执行尽可能多的作业; (4) 有较快的响应时间。
主要功能是按照一定的策略选择一个处于就绪状态的进程, 使其获得处理机执行。根据不同的系统设计目的,有各种各样 的选择策略,例如系统开销较少的静态优先数调度法,适合于 分时系统的轮转法和多级反馈轮转法等。这些选择策略决定了 调度算法的性能 (3) 进行进程上下文切换
一个进程的上下文(context)包括进程的状态、有关变量 和数据结构的值、硬件寄存器的值和PCB以及有关程序等
高级调度"。从用户工作流程的角度,一次提交的若干个流程, 其中每个程序按照进程调度。时间上通常是分钟、小时或天 (2) 交换调度:中级调度,从存储器资源的角度。将进程的部分 或全部换出到外存上,将当前所需部分换入到内存。指令和数据 必须在内存里才能被CPU直接访问。 (3)进程或线程调度:低级调度(微观调度),又称为"微观调度 "、"低级调度"。从CPU资源的角度,执行的单位。时间上通常 是毫秒。因为执行频繁,要求在实现时达到高效率

逄 第四章处理机调度习题课

逄 第四章处理机调度习题课

进入时间 离开时间 周转时间 执行时间 带权 周转时间
1 2 3 4 5
0 0 0 0 0
10 11 13 14 19
10 11 13 14 19
13.4
10 1 2 1 5
1 11 6.5 14 3.8
7.26
0 J1 J2 J3 J4 J5
2
4
6
8
10 12 14 16 18 20 T
RR
0 J1 J2 J3 J4 J5
解: 先调度作业1 1)先调度作业1。 周转时间为T1=Tw1+Tr1=0+2.0=2.0 周转时间为T1=Tw1+Tr1=0+2.0=2.0 带权周转时间为W1=2.0/2.0=1 带权周转时间为W1=2.0/2.0=1 在作业1运行的完成时刻10:00分别计算作业2 10:00分别计算作业 2)在作业1运行的完成时刻10:00分别计算作业2、3、4的响 应比R 应比R 作业2等待时间10:00 8:50=1时10分=1.17小时 10:00小时, ①作业2等待时间10:00-8:50=1时10分=1.17小时, R=1+1.17/0.5=3.34 作业3等待时间10:00 9:00=1时=1.0小时 10:00小时, ②作业3等待时间10:00-9:00=1时=1.0小时, R=1+1.0/0.1=11.0 ③作业4等待时间10:00-9:50=10分=0.17小时, 作业4等待时间10:00-9:50=10分=0.17小时, 10:00 小时 R=1+0.17/0.2=1.85 故应调度作业3,周转时间T3=1.0+0.1=1.1小时, 3,周转时间T3=1.0+0.1=1.1小时 故应调度作业3,周转时间T3=1.0+0.1=1.1小时,带权周转时间 W3=1.1/0.1=11.0

处理机调度与死锁习题

处理机调度与死锁习题

处理机调度和死锁习题第一部分:处理机的调度一、单项选择题1.时间片轮转调度算法是为了()。

A.多个终端能够得到系统及时响应B.使系统变得高效C.优先级较高的进程得到及时响应D.需要CPU时间最少的进程最先做2.在单处理器的多进程系统中,进程什么时候占用处理器以及决定占用时间的长短是由()决定的。

A.进程相应的代码长度B.进程总共需要运行的时间C.进程特点和进程调度策略D.进程完成什么功能3.()有利于CPU繁忙型的作业,而不利于}/0繁忙型的作业。

A.时间片轮转调度算法B.先来先服务调度算法C.短作业(进程)优先算法D.优先权调度算法4.下面有关选择进程调度算法的准则中不正确的是()。

A.尽快响应交互式用户的请求B.尽量提高处理器利用率C.尽可能提高系统吞吐量D.适当增长进程就绪队列的等待时间5.设有4个作业同时到达,每个作业的执行时间均为2h,它们在一台处理器上按单道运行,则平均周转时间为()。

A.1h B.5h C.2.5h D.8h6.若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业.长作和交互作业用户都满意,应采用()。

A.FCFS调度算法B.短作业优先调度算法C.时间片轮转调度算法D.多级反馈队列调度算法E.剥夺式优先级调度算法7.()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变。

A.先来先服务B.动态C.短作业D.静态8.现在有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2,T3,且T1 <T2 <T3。

系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()。

A.T1 + T2 + T3 B.(3 x Tl+2 x T2 + T3)/3C.(T1+T2+T3)/3 D.(TI+2 x T2+3 x T3 )/39.设有三个作业,其运行时间分别是2h,5h,3h,假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是()。

处理器调度习题

处理器调度习题

处理器调度选择题•当CPU执行操作系统代码时,则处理机处于( )。

•A.执行态B.目态C.管态D.就绪态•( )是机器指令的扩充,是硬件的首次延伸,是加在硬件上的第一层软件。

•A.系统调用B.操作系统C.内核D.特权指令•操作系统提供给程序员的接口是( )。

•A.进程B.系统调用C.库函数D.B和C•用户程序向系统提出使用外设的请求方式是( )。

•A.作业申请B.原语C.系统调用D.I/O指令•当作业正常完成进入完成状态时,操作系统( )。

•A.将输出该作业的结果并删除内存中的作业•B.将收回该作业的所占资源并输出结果•C.将收回该作业的所占资源及输出结果,并删除该作业•D.将收回该作业的所占资源及输出结果,并将它的控制块从当前的队列中删除•下列选项是关于作业和进程关系的描述,其中哪一个是不正确的( )。

•A.作业的概念主要用在批处理系统中,而进程的概念则用在几乎所有的OS中。

•B.作业是比进程低一级的概念。

•C.一个作业至少由一个进程组成。

•D.作业是用户向计算机提交任务的实体,而进程是完成用户任务的执行实体以及向系统申请分配资源的基本单位。

•作业从后备作业到被调度程序选中的时间称为( )。

•周转时间B.响应时间C.等待调度时间D.运行时间•设有三个作业J1,J2,J3,它们同时到达,运行时间分别为T1,T2,T3,且T1≤T2≤T3,若它们在一台处理机上按单道运行,采用短作业优先算法,则平均周转时间为( )。

•A.T1+T2+T3 B.1/3(T1+T2+T3)•C.T1+2/3T2+1/3T3 D.T1+1/3T2+2/3T3•从作业提交给系统到作业完成的时间间隔称为作业的( )。

•A.中断时间B.等待时间C.周转时间D.响应时间•设有四个作业同时到达,每个作业执行时间均为2 h,它们在一台处理机上按单道方式运行,则平均周转时间为( )。

•A.1 h B.5 h C.2.5 h D.8 h•FCFS调度算法有利于( )。

操作系统原理-第四章处理机调度知识点及习题

操作系统原理-第四章处理机调度知识点及习题

第四章处理机调度与死锁4.1 知识点汇总1、处理机调度级别⑴调度:选出待分派的作业或进程⑵处理机调度:分配处理机⑶三级调度:高级调度(作业调度)、中级调度(内存对换)、低级调度(进程调度)2、作业状态⑴作业状态分为四种:提交、后备、执行和完成。

⑵作业状态变迁图:图4-1 作业状态及变迁3、作业调度和调度的功能⑴. 作业调度的任务后备状态→执行状态执行状态→完成状态⑵作业调度的功能①记录系统中各个作业的情况②按照某种调度算法从后备作业队列中挑选作业③为选中的作业分配内存和外设等资源④为选中的作业建立相应的进程⑤作业结束后进行善后处理工作4、进程调度和调度的功能1). 进程调度:后备状态→执行状态2). 进程调度时机:任务完成后、等待资源时、运行到时了、发现重调标志3). 进程调度的功能:保存现场、挑选进程、恢复现场5、两级调度模型 作业调度和进程调度的区别6、评价调度算法的指标调度性能评价准则:CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间(1)吞吐量:单位时间内CPU完成作业的数量(2)周转时间:1) 周转时间=完成时刻-提交时刻2) 平均周转时间=周转时间/n3) 带权周转时间=周转时间/实际运行时间4) 平均带权周转时间=带权周转时间/n7、作业与进程调度算法(1)先来先服务(FCFS)调度算法的实现思想:按作业(进程)到来的先后次序进行调度,即先来的先得到运行。

用于作业调度:从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。

用于进程调度:从就绪队列中选择一个最先进入该队列的进程投入运行。

例如设有三个作业,编号为1,2,3。

各作业分别对应一个进程。

各作业依次到达,相差一个时间单位。

①图示出采用FCFS方式调度时这三个作业的执行顺序②算出各作业的周转时间和带权周转时间(2)时间片轮转(RR)调度算法的实现思想:系统把所有就绪进程按先进先出的原则排成一个队列。

新来的进程加到就绪队列末尾。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章处理机调度一. 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。

A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。

**[i,j]=Allocation[i,j]+Need[i,j]**[i,j]= Allocation[i,j]+ Max[i,j]**[i,j]= Available[i,j]+Need[i,j]**[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.环路等待条件二. 选择所有正确答案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.下面列出的选项中,属于可剥夺性资源的有()。

** B.内存C.磁盘D.磁带机10.在多级队列调度和多级反馈队列调度的叙述中,正确的是()。

A.多级反馈队列调度中就绪队列的设置不是象多级队列调度一样按作业性质划分,而是按时间片的大小划分B.多级队列调度用到优先权,而多级反馈队列调度中没有用到优先权C.多级队列调度中的进程固定在某一个队列中,而多级反馈队列调度中的进程不固定D.多级队列调度中每个队列按作业性质不同而采用不同的调度算法,而多级反馈队列调度中除了个别队列外,均采用相同的调度算法三. 判断正误,简要说明理由1.作业调度能够使作业获得CPU。

2.在多道程序系统中,系统的现有空闲可用资源能否满足一个后备作业J的资源要求,是选择作业J进入内存的必要条件。

3.短作业(进程)优先调度算法具有最短的平均周转时间,因此这种算法是最好的算法。

4.在优先权调度算法中确定静态优先权时,一般说,计算进程的优先权要高于磁盘I/O 进程的优先权。

5.摒弃不可剥夺条件的方法可用于预防多个打印进程死锁的发生。

6.操作系统处理死锁,只要采用预防、解除、检测、避免之中的一种就足够了。

7.如果系统在所有进程运行前,一次性地将其在整个运行过程所需的全部资源分配给进程,即所谓“静态分配”法,是可以预防死锁发生的。

8.多个进程竞争比进程数目少的资源时就可能产生死锁,而当资源数目大于进程数目时就一定不会发生死锁。

9.在银行家算法中,对某时刻的资源分配情况进行安全分析,如果该时刻状态是安全的,则存在一个安全序列,且这个安全序列是唯一的。

10.进程调度算法各种各样,但是如果选择不当,就会造成死锁。

四. 简答题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),问系统可否将资源分配给它?五 考研试题精选及解析1.在银行家算法中,若出现以下资源分配情况:(北京理工2002死锁题)问:1 该状态是否安全?2 若进程依次有以下资源请求: Process allocation claim available A B C A B C A B C P 0 0 1 0 7 53 3 2 2 P 1 2 1 0 3 2 2 P 2 3 0 2 9 0 2 P 3 2 1 1 2 2 2 P4 0 0 2 4 3 3p1 资源请求:Request(1,0,2)p4 资源请求:Request(3,3,0)p0 资源请求:Request(0,1,0)则系统如何分配资源可避免死锁?2.一个操作系统有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某进程获得它所需要的全部资源,则立即归还所有资源。

每个进程最多使有3个资源。

若仅考虑这类资源,该系统有可能产生死锁,为什么?(北京大学1995年死锁题)解:在本题中,若仅考虑这一类资源的分配,则不会产生死锁。

因为死锁产生的原因有两点:系统资源不足或进程推进顺序不当。

在本题介绍的系统中,进程所要的最大资源数为:20×3=60,而系统中共有该类资源65个,其资源数目已足够系统内的各地进程使用,因此绝不可能发生死锁。

3.一台计算机有8台磁带机。

它们由N个进程竞争使用,每个进程可能需要3台磁带机。

请问N为多少时,系统没有死锁危险,并说明原因。

(上海交通大学1999年死锁题)解:当N为1,2,3时,系统没有产生死锁的危险。

因为,当系统中只有1个进程时,它最多需要3台磁带机,而系统有8台磁带机,其资源数目已足够系统内的1个进程使用,因此绝不可能发生死锁;当系统中有2个进程时,最多需要6台磁带机,而系统有8台磁带机,其资源数目也足够系统内的2个进程使,因此也不可能发生死锁;当系统中有3个进程时,在最坏情况下,每个进程都需要3个这样的资源,且假定每个进程都已申请到了2个资源,那么系统中还剩下2个,无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的3个资源归还给系统,这就保证了其余进程能顺利运行完毕.由此可知当N 为1,2,3时,该系统不会由于对这种资源的竞争而产生死锁。

4.假定某计算机系统有R1和R2两类可再使用资源(其中R1有两个单位,R2有一个单位),它们被进程P1,P2所共享,且已知两个进程均以下列顺序使用两类资源:→申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图。

(南开大学1994年死锁题)解:在本题中,当两个进程都执行完第1步后,即进程P1和进程P2都申请到了一个R1类资源时,系统进入不安全状态。

随着两个进程的向前推进,无论哪个进程执行完第2步,系统都将进入死锁状态。

可能到达的死锁点是:进程P1占有一个单位的R1类资源及一个单位的R2类资源,进程P2占有一个单位的R1类资源,此时系统内已无空闲资源,而两个进程都在保持已占有资源不释放的情况下继续申请资源,从而造成死锁;或进程P2占有单位的R1类资源及一个单位的R2类资源,进程P1占有一个单位的R1类资源,此时系统内已无空闲资源,而两个进程都在保持已占有资源不释放的情况下继续申请资源,从而造成死锁。

假定进程P1成功执行了第2步,则死锁点的资源分配图如图所示:图4-55. 某系统有同类资源m 个,被并发执行的n 个进程共享,若每个进程申请该类资源的最大量为x (1≦x ≦m),试给出保证系统不产生死锁的n 、x 、m 之间的关系式。

解 : 当每个进程分得资源的最大量x-1个后,只要系统还拥有一个资源时,系统便不会产生死锁,故可推出关系式:n ×(x-1)+1≦m 。

其中,当m ≦n 时,x=1。

m>n 时,x=1+[(m-1)/n]其中,[ ]为取下界、即去掉小数点。

6.某系统有同类资源m 个,被并发执行的n 个进程共享,若每个进程申请该类资源的最大量为x (1≦x ≦m),试证明:当n ×(x-1)+1≦m 时,系统不产生死锁。

相关文档
最新文档