操作系统课程设计实验报告-用C 实现银行家算法. 下载本文

内容发布更新时间 : 2024/5/9 12:01:56星期一 下面是文章的全部内容请认真阅读。

操 作 系

实 验 报 告

(2) 学院:计算机科学与技术学院 班级:计091 学号:姓名: 时间:2011/12/30

目 录

1. 实验名称……………………………………………………3 2. 实验目的……………………………………………………3 3. 实验内容……………………………………………………3 4. 实验要求……………………………………………………3 5. 实验原理……………………………………………………3 6. 实验环境……………………………………………………4 7. 实验设计……………………………………………………4 7.1数据结构设计……………………………………………………………………4 7.2算法设计…………………………………………………………………………6 7.3功能模块设计……………………………………………………………………7 8. 实验运行结果………………………………………………8 9. 实验心得……………………………………………………9

附录:源代码(部分)…………………………………………………………………9

2

一、实验名称:

用C++实现银行家算法

二、实验目的:

通过自己编程来实现银行家算法,进一步理解银行家算法的概念及含义,提高对银行家算法的认识,同时提高自己的动手实践能力。

各种死锁防止方法能够阻止发生死锁,但必然会降低系统的并发性并导致低效的资源利用率。死锁避免却与此相反,通过合适的资源分配算法确保不会出现进程循环等待链,从而避免死锁。本实验旨在了解死锁产生的条件和原因,并采用银行家算法有效地防止死锁的发生。

三、实验内容:

利用C++,实现银行家算法

四、实验要求:

1.完成银行家算法的设计

2.设计有n个进程共享m个系统资源的系统,进程可动态的申请和释放资源,系统按各进程的申请动态的分配资源。

五、实验原理:

系统中的所有进程放入进程集合,在安全状态下系统收到进程的资源请求后,先把资源试探性的分配给它。之后,系统将剩下的可用资源和进程集合中的其他进程还需要的资源数作比较,找出剩余资源能够满足的最大需求量的进程,从而保证进程运行完毕并归还全部资源。这时,把这个进程从进程集合中删除,归还其所占用的所有资源,系统的剩余资源则

3