银行家算法实验报告

银行家算法实验报告

ID:9807061

大小:58.00 KB

页数:8页

时间:2018-05-10

银行家算法实验报告_第1页
银行家算法实验报告_第2页
银行家算法实验报告_第3页
银行家算法实验报告_第4页
银行家算法实验报告_第5页
资源描述:

《银行家算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、银行家算法实验报告关键字:银行家算法、安全状态、不安全状态、向量矩阵、进程、死锁、资源、就绪状态、执行状态、阻塞状态;一实验名称进程同步互斥问题二实验目的2.1切实加深对进程死锁的认识;2.2正确理解系统的安全状态与不安全状态;2.3更进一步地理解和掌握银行家算法;三实验要求3.1将本实验分成两个阶段,第一阶段实现系统安全性检测算法;第二阶段实现银行家算法;3.2要求用户能自主地输入不同的向量矩阵;3.3你的程序能正确输出不同的运算结果;3.4你的程序应具备良好的容错能力;3.5力求用户界面的简洁美观;四实验原理4.1进程及进程死锁;4.1.1

2、进程:是操作系统中最基本、最重要的概念,但直到目前还没有一个统一的定义,下面通过能反映进程实质的几点描述来认识进程:①进程是程序的一次执行;②进程是可以和别的计算并发执行的计算;③进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位;④进程是一个具有一定功能的程序关于某个数据集合的一次运行活动。进程具有几个基本的特征:动态性、并发性、独立性、异步性;每个进程通常由程序段、数据段和进程控制块三部分组成,其中进程控制块能唯一标识一个进程。进程执行时间的间断性,决定了进程可能具有多种状态。事实上,运行中的进程至少具有以下三种基

3、本状态:就绪状态:进程已获得除处理机以外的所有资源,一旦分到了处理机就可以立即执行,这时进程所处的状态为就绪状态;执行状态:又称运行状态。当一个进程获得必要的资源,并占有处理机,即在处理机上运行,此时进程所处的状态为执行状态;阻塞状态:又称等待状态,正在执行的进程,由于发生了某事件而暂时无法执行下去(如等待输入/输出完成),此时进程所处的状态称为阻塞状态。进程并非固定处于某一状态,它随着自身的推进和外界条件的变化而发生变化。4.1.2进程死锁进程死锁是因多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都无法向前推进。例如,假设系统中有

4、一台打印机和一台输入设备,进程P1正占用输入设备,同时又提出使用打印机的请求,但此时答应机正被进程P2所占用。而P2在未释放打印机之前,又提出请求使用正被P1占用的输入设备的请求。这样,两个进程相互无休止地等待下去,均无法继续执行,此时两个进程陷入死锁状态。4.2进程死锁产生的原因;进程产生死锁有以下两点:①系统资源不足。在上面举的例子里,如果输入设备不止被P1占用的一台,那么P2申请输入设备时,就可以得到满足,也就不会让P1、P2陷入死锁;②进程推进顺序不当。在上面举的例子里,如果P2在P1提出使用输入设备前,已经完成了对输入设备和打印机的使

5、用,并且释放了它们;或者是在进程P2提出使用打印机的请求之前,进程P1已经完成了对输入设备和打印机的使用,并且释放了它们,则均不会发生死锁。4.3死锁产生的必要条件;死锁产生的必要条件有四条:①互斥条件在某一段时间里,某资源被一个进程所占有,不能为别的进程使用;②不剥夺条件进程所获得的资源在为使用完之前,不能被其他进程强行夺走,即只能由获得该资源的进程自己来释放;③部分分配条件进程每次申请它所需要的一部分资源。在等待新资源的同时,进程继续占用已分配到的资源;④环路条件存在一种进程资源的循环等待链,链中的每一个进程已获得资源的同时被链中下一个进程

6、所请求。4.4进程死锁的预防、避免和检测;4.4.1死锁的预防对资源加以某种限制,以使死锁不会发生。这种死锁的预防是静态的,基本的方法是相对应上面的产生死锁的四个必要条件,采取破坏的方式,以达到死锁不会产生的目的。4.4.2死锁的避免死锁的避免是对进程在申请某类资源时所使用的命令加以检测,通过这种方式来避免死锁的发生,相对于死锁的预防来说,这种方式是动态的。另外,死锁的预防施加了比较强的限制条件,虽然实现起来比较简单,但是却严重损害了系统性能。在避免死锁的方法中,所施加的限制条件较弱,有可能获得较好的系统性能。4.4.3死锁的检测死锁的检测是在

7、死锁发生以后采取的一种方式,能够把死锁检测出来并解除之,它是动态的。前面两种方式,都是在系统为进程分配资源时施加限制条件或进行检测,若系统为进程分配资源时不采取任何措施,则应该提供检测和解除死锁的手段。死锁的解除常用两种方法:资源剥夺法:当发现死锁时,从其他进程剥夺足够数量的资源给死锁进程,以解除死锁状态;撤消进程法:此方法是采用强制手段从系统中撤消一个或一部分死锁进程,并剥夺这些进程的资源供其他进程使用。4.5死锁避免算法:银行家算法;4.5.1安全与不安全状态;若在某一时刻,系统能按某种顺序如来为每个进程分配其所需的

8、资源,直至最大需求,使每个进程都可顺利地完成,则称此时的系统状态为安全状态;称为安全序列。若某个时刻系统中不存在这样一个安全序

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。