银行家算法

1. *内容:利用银行家算法来避免死锁的发生*

*2.需求:*

*1)建立银行家算法的数据结构描述;*

*2) 将初始数据放在文件中,算法运行时读出;*

*3) 对给定的资源请求,使用算法判断是否允许;*

*4) 输出每次判断产生的执行序列;*

2. *具体代码实现步骤*

1.首先考虑到银行家算法需要供给方与需求方设计历2个对象:

img

*2.设计开始需要各个提示页面的大概制作:*

img

img

还有一些简单的提示页面不再这展示。

3. *这是添加进程,2个方法命名与判断筛选:*

img

img

img

4. *资源请求方法(核心):*

img

开始进入银行家算法

img

进入预分配方法

img

回溯就是将预分配进行反向运算(也可以采用一个变量将没分配前的操作系统的资源进行存储)

img

安全性算法:

img

img

img

其中包括了需求方资源完成释放资源操作。

5.

辅助方法

img

img

6. *打印:*

img

四、 *问题处理*

安全性算法,需要进行推理计算,运用到循环。

五、 *实验展示*

创建系统资源种类与可用资源

img

创建进程

img

超出最资源的经常不予以创建

img

创建完进程后查看

img

进行资源请求并查看

img

img

请求失败

  1. 超出空闲资源

img

  1. 不安全的分配

img

资源释放

img

退出

img

六、 *实验心得*

银行家算法实验不仅让我们掌握了具体的死锁避免技术,更重要的是培养了我们解决复杂系统问题的思维方法。我们学会了如何将理论算法转化为实际代码,如何分析算法的优缺点,以及如何在约束条件下设计可靠的系统。这种从理论到实践、从问题到解决方案的完整思考过程,对我们的计算机科学学习有着深远的影响。

七、作品源代码+说明文件(附件)

![img](file:///C:\Users\JSHY\AppData\Local\Temp\ksohtml28516\wps28.png)

posted @ 2026-03-15 18:26  三咲肘击王  阅读(9)  评论(0)    收藏  举报