- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
银行家算法实验报告
关键字:银行家算法、安全状态、不安全状态、向量矩阵、进程、死锁、资源、就绪状态、执行状态、阻塞状态;
一 实验名称
进程同步互斥问题
二 实验目的
切实加深对进程死锁的认识;
正确理解系统的安全状态与不安全状态;
更进一步地理解和掌握银行家算法;
三 实验要求
3.1将本实验分成两个阶段,第一阶段实现系统安全性检测算法;
第二阶段实现银行家算法;
3.2要求用户能自主地输入不同的向量矩阵;
3.3你的程序能正确输出不同的运算结果;
3.4你的程序应具备良好的容错能力;
3.5力求用户界面的简洁美观;
四 实验原理
4.1 进程及进程死锁;
4.1.1 进程:是操作系统中最基本、最重要的概念,但直到目前还没有一个统一的定义,下面通过能反映进程实质的几点描述来认识进程:
= 1 \* GB3 ① 进程是程序的一次执行;
= 2 \* GB3 ② 进程是可以和别的计算并发执行的计算;
= 3 \* GB3 ③ 进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位;
= 4 \* GB3 ④ 进程是一个具有一定功能的程序关于某个数据集合的一次运行活动。
进程具有几个基本的特征:动态性、并发性、独立性、异步性;每个进程通常由程序段、数据段和进程控制块三部分组成,其中进程控制块能唯一标识一个进程。
进程执行时间的间断性,决定了进程可能具有多种状态。事实上,运行中的进程至少具有以下三种基本状态:
就绪状态:进程已获得除处理机以外的所有资源,一旦分到了处理机就可以立即执行,这时进程所处的状态为就绪状态;
执行状态:又称运行状态。当一个进程获得必要的资源,并占有处理机,即在处理机上运行,此时进程所处的状态为执行状态;
阻塞状态:又称等待状态,正在执行的进程,由于发生了某事件而暂时无法执行下去(如等待输入/输出完成),此时进程所处的状态称为阻塞状态。
进程并非固定处于某一状态,它随着自身的推进和外界条件的变化而发生变化。
4.1.2 进程死锁
进程死锁是因多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都无法向前推进。例如,假设系统中有一台打印机和一台输入设备,进程P1正占用输入设备,同时又提出使用打印机的请求,但此时答应机正被进程P2所占用。而P2在未释放打印机之前,又提出请求使用正被P1占用的输入设备的请求。这样,两个进程相互无休止地等待下去,均无法继续执行,此时两个进程陷入死锁状态。
4.2进程死锁产生的原因;
进程产生死锁有以下两点:
= 1 \* GB3 ① 系统资源不足。在上面举的例子里,如果输入设备不止被P1占用的一台,那么P2申请输入设备时,就可以得到满足,也就不会让P1、P2陷入死锁;
= 2 \* GB3 ② 进程推进顺序不当。在上面举的例子里,如果P2在P1提出使用输入设备前,已经完成了对输入设备和打印机的使用,并且释放了它们;或者是在进程P2提出使用打印机的请求之前,进程P1已经完成了对输入设备和打印机的使用,并且释放了它们,则均不会发生死锁。
3死锁产生的必要条件;
死锁产生的必要条件有四条:
= 1 \* GB3 ① 互斥条件 在某一段时间里,某资源被一个进程所占有,不能为别的进程使用;
= 2 \* GB3 ② 不剥夺条件 进程所获得的资源在为使用完之前,不能被其他进程强行夺走,即只能由获得该资源的进程自己来释放;
= 3 \* GB3 ③ 部分分配条件 进程每次申请它所需要的一部分资源。在等待新资源的同时,进程继续占用已分配到的资源;
= 4 \* GB3 ④ 环路条件 存在一种进程资源的循环等待链,链中的每一个进程已获得资源的同时被链中下一个进程所请求。
4.4进程死锁的预防、避免和检测;
4.4.1 死锁的预防
对资源加以某种限制,以使死锁不会发生。这种死锁的预防是静态的,基本的方法是相对应上面的产生死锁的四个必要条件,采取破坏的方式,以达到死锁不会产生的目的。
4.4.2 死锁的避免
死锁的避免是对进程在申请某类资源时所使用的命令加以检测,通过这种方式来避免死锁的发生,相对于死锁的预防来说,这种方式是动态的。
另外,死锁的预防施加了比较强的限制条件,虽然实现起来比较简单,但是却严重损害了系统性能。在避免死锁的方法中,所施加的限制条件较弱,有可能获得较好的系统性能。
4.4.3死锁的检测
死锁的检测是在死锁发生以后采取的一种方式,能够把死锁检测出来并解除之,它是动态的。前面两种方式,都是在系统为进程分配资源时施加限制条件或进行检测,若系统为进程分配资源时不采取任何措施,则应该提供检测和解除死锁的手段。
您可能关注的文档
最近下载
- 《哈佛分析框架下的企业财务分析国内外文献综述》3500字.docx VIP
- 新解读《GB_T 31598-2015大型活动可持续性管理体系 要求及使用指南》最新解读.docx VIP
- 烟花爆竹经营单位安全生产培训考试试卷及答案.docx VIP
- GB_T 39001-2019道路交通安全管理体系 要求及使用指南.docx VIP
- 实施指南《GB_T39001-2019道路交通安全管理体系要求及使用指南》实施指南.docx VIP
- 新解读《GB_T 41085 - 2021城乡社区环卫清洁服务要求》最新解读.pptx VIP
- ISO27701-2019《隐私信息管理体系》.pdf VIP
- 姑射山人之:养生法,站桩与拍筋.doc VIP
- 小学语文二年级上册课件 《语文园地五》第三课时.ppt VIP
- ISO55001-2024资产管理资产管理体系内部审核检查表.docx VIP
原创力文档


文档评论(0)