黄天实验四银行家算法实验报告

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

操作系统实验

实验四

学号 1415251011 姓名黄天

班级 14集成1班

华侨大学电子工程系

实验目的

1、理解银行家算法。

2、掌握进程安全性检查的方法与资源分配的方法。

实验内容与基本要求

编制模拟银行家算法的程序,并以下面给出的例子验证所编写的程序的正确性。

现在系统中A、B、C、D 4类资源分别还剩1、5、2、0个,请按银行家算法回答:

1、现在系统是否处于安全状态?

答:系统是安全的。

2、如果现在进程P1提出需要(0、4、2、0)个资源的请求,系统能否满足它的

请求?

答:可以满足。

实验报告内容

1、银行家算法和安全性检查算法原理。

银行家算法:

银行家算法最初级原为银行系统设计,以确保银行在发放现金贷款时,不会发生不能满足所有客户需要的情况。在OS设计中,也可以用它来避免死锁。

为实现银行家算法,每个新进程在进入系统时它必须申明在运行过程中,可能需要的每种资源类型的最大单元数目,其数目不应超过系统所拥有的资源总

量。当某一进程请求时,系统会自动判断请求量是否小于进程最大所需,同时判断请求量是否小于当前系统资源剩余量。若两项均满足,则系统试分配资源并执行安全性检查算法。

安全性检查算法:

安全性检查算法用于检查系统进行资源分配后是否安全,若安全系统才可以执行此次分配;若不安全,则系统不执行此次分配。

安全性检查算法原理为:在系统试分配资源后,算法从现有进程列表寻找出一个可执行的进程进行执行,执行完成后回收进程占用资源;进而寻找下一个可执行进程。当进程需求量大于系统可分配量时,进程无法执行。当所有进程均可执行,则产生一个安全执行序列,系统资源分配成功。若进程无法全部执行,即无法找到一条安全序列,则说明系统在分配资源后会不安全,所以此次分配失败。

2、程序流程图。

3、程序及注释。

4、运行结果以及结论。

(1)、按照题给例子验证所编写的程序的正确性如下:

如上图所示,编写的程序基本正确。

假如现在系统中A、B、C、D 4类资源分别还剩1、5、2、0个,如图所示,系

统是安全的,安全序列为0 -2-1-3-4.

假如现在要申请的资源的进程号为P1。系统中为1进程,结果如下图所示.

则由图可知,系统可以满足P1的需求。

(2)、假如请求的资源超出系统所有的资源,则报错,如下如。

(3)、在此银行家算法的程序中,可以输入不超过Max[50][100]的矩阵资源,并且支持自定义输入,且程序中包含自动判错纠错功能。

纠错如图,自定义的矩阵为4*9成功。

自行判断系统所有资源是否能满足进程需求。

结论:该程序运行结果正确,各项数据指标正常。各种判断循环正常。

相关文档
最新文档