首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和图,回答问题1到问题3,将解答填入对应栏内。 [说明] 操作系统中,死锁(Deadlock)是指多个进程在运行的过程中因争夺资源而造成的一种僵局。当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。 面对死锁
阅读下列说明和图,回答问题1到问题3,将解答填入对应栏内。 [说明] 操作系统中,死锁(Deadlock)是指多个进程在运行的过程中因争夺资源而造成的一种僵局。当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。 面对死锁
admin
2010-12-17
38
问题
阅读下列说明和图,回答问题1到问题3,将解答填入对应栏内。
[说明]
操作系统中,死锁(Deadlock)是指多个进程在运行的过程中因争夺资源而造成的一种僵局。当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。
面对死锁问题有两个解决方案:预防死锁和避免死锁。
预防死锁是一种较简单和直观的事先预防方法。该方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或多个,以此来预防死锁的发生。预防死锁由于较易实现,已被广泛应用,但由于所施加的限制条件往往太严格,可能会导致系统资源利用率和系统吞吐量的降低。
避免死锁同样是属于事先预防的策略,但它无须事先采取各种限制措施去破坏产生死锁的四个必要条件,而是在资源分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁。
银行家算法(Banker’s algorithm)是Dijkstra于1965年提出的一个经典的避免死锁的算法。形象地描述银行发放贷款不能使有限可用资金匮乏而导致整个银行无法运转的思路,也就是说每次请求贷款,银行要考虑他能否凭着贷款完成项目,并还清贷款使银行运转正常。令Request(i)是进程P(i)请求向量,如果Request(i)[j]=k则进程P(i)希望请韵类资源k个。具体算法步骤如下:
(1)如果Request(i)>Need(i)则出错(请求量超过申报的最大量),否则转到(2);
(2)如果Request(i)>Available则P(i)等待,否则转(3);
(3)系统对P(i)所请求的资源实施试探分配,并更改数据结构中的数值;
(4)Available=Available-Request(i);
A1location(i) =Allocation(i) +Request(i);
Need(i)=Need(i)-Request(i);
(5)执行安全性算法,如果是安全的,则承认试分配,否则废除试分配,让进程P(i)继续等待。
所谓系统是安全的,是指系统中的所有进程能够按照某一种次序分配资源,并且依次运行完成,这种进程序列{P1,P2,…,Pn)就是安全序列。如果存在这样一个安全序列,则系统是安全的;如果系统不存在这样一个安全序列,则系统是不安全的。
若系统中有同类资源16个,有4个进程共享该资源。已知P1、P2、P3、P4所需总资源分别是8、5、9、6。各进程请求资源次序为(序号,进程,申请量):(1,P1,6)、(2,P2,4)、(3,P3,5)、(4,P4,1)、(5,P1,1)、(6,P2,1)。若用银行家算法为它们分配资源,分析每一步请求以后,各个进程还需的资源数以及系统所剩资源数,并指出系统是否安全。注,当某序号的申请导致系统不安全时,跳过该请求(拒绝该请求)继续往下判断,相当于将该进程阻塞。
选项
答案
①(1,P1,6)余资源10。此时P1还需2,P2还需5,P3还需9,P4还需6。系统存在安全序列:{P1,P2,P3,P4},故系统安全。②(2,P2,4)余资源6。此时P1还需2,P2还需1,P3还需9,P4还需6。系统存在安全序列:{P1,P2,P3,P4{,故系统安全。③(3,P3,5)余资源1。此时P1还需2,P2还需1,P3还需4,P4还需6。系统存在安全序列:{P2,P1,P3,P4},故系统安全。④(4,P4,1)余资源0。此时P1还需2,P2还需1,P3还需4,P4还需5。系统不存在安全序列,故系统不安全。请求(4,P4,1)是不安全的,排除该请求,继续往后判断。⑤(5,P1,1)余资源0。此时P1还需1,P2还需1,P3还需4,P4还需6。系统不存在安全序列,故系统不安全。请求(5,P1,1)是不安全的,排除该请求,继续往后判断。⑥(6,P2,1)余资源0。此时P1还需2,P2还需0,P3还需4,P4还需6。P2进程资源已得到完全满足,P2完成后,资源释放。系统存在安全序列:{P2,P1,P3,P4},故系统安全。至此,6个进程均进行了是否分配资源判断。
解析
问题1是概念性,问题2是对系统安全的理解,问题3就是银行家算法的一个具体实现,按照银行家算法的详细描述可得。
转载请注明原文地址:https://kaotiyun.com/show/2qDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
函数main()、f()的定义如下所示。调用函数f()时,第一个参数采用传值(callbyvalue)方式,第二个参数采用传引用(callbyreference)方式,main()执行后输出的值为______。
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为________________天。活动FG的松弛时间为________________天。
系统交付后,修改偶尔会出现乱码的问题,该行为属于________________维护。
假设系统有n(n≥6)个并发进程共享资源R,且资源R的可用数为3。若采用PV操作,则相应的信号量S的取值范围应为________________。
软件开发中经常利用配置库实现变更控制,主要是控制软件配置项的状态变化,不受配置管理控制的是()。
在一个完整的功能测试过程中,______不属于应该编写的测试文档。A.测试需求文档B.测试用例文档C.测试标准D.问题报告单
以下关于测试工作在软件开发各阶段作用的叙述中,不正确的是()。
测试记录包括、(64)。①测试计划或包含测试用例的测试规格说明。②测试期间出现问题的评估与分析。③与测试用例相关的所有结果,包括在测试期间出现的所有失败。④测试中涉及的人员身份。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
随机试题
青藏高原是世界上平均海拔最高,面积最大的高原。关于青藏高原,下列选项表述错误的是()。
什么是工件的六点定位原则?
苏子降气汤证的病变脏腑是
A.急性胎儿窘迫B.轻度新生儿窒息C.慢性胎儿窘迫D.重度新生儿窒息E.新生儿产伤胎儿娩出后1分钟仅有心跳而无呼吸,Apgar评分0~3分,应考虑
证券公司应当制作风险揭示书,充分揭示客户参与定向资产管理业务的风险不包括( )。
个人征信系统信息来源,主要包括()。
对学生进行指导、引导的目的是促进学生的()。
[*]
有以下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){x=0;}
对SheetA工作表内的数据清单的内容,按主要关键字“年度”的降序次序和次要关键字“房租(万元)”的降序次序进行排序。完成对各年度房租、水电的分类汇总,汇总结果显示在数据下方,工作表名不变,保存:Exc.xlsx工作簿。
最新回复
(
0
)