银行家算法
1. *内容:利用银行家算法来避免死锁的发生*
*2.需求:*
*1)建立银行家算法的数据结构描述;*
*2) 将初始数据放在文件中,算法运行时读出;*
*3) 对给定的资源请求,使用算法判断是否允许;*
*4) 输出每次判断产生的执行序列;*
2. *具体代码实现步骤*
1.首先考虑到银行家算法需要供给方与需求方设计历2个对象:


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


还有一些简单的提示页面不再这展示。
3. *这是添加进程,2个方法命名与判断筛选:*



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

开始进入银行家算法

进入预分配方法

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

安全性算法:



其中包括了需求方资源完成释放资源操作。
5.
辅助方法


6. *打印:*

四、 *问题处理*
安全性算法,需要进行推理计算,运用到循环。
五、 *实验展示*
创建系统资源种类与可用资源

创建进程

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

创建完进程后查看

进行资源请求并查看


请求失败
- 超出空闲资源

- 不安全的分配

资源释放

退出

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


浙公网安备 33010602011771号