操作系统课程设计实验报告-用c++实现银行家算法

操作系统课程设计实验报告-用c++实现银行家算法

ID:6331428

大小:147.00 KB

页数:17页

时间:2018-01-10

操作系统课程设计实验报告-用c++实现银行家算法_第1页
操作系统课程设计实验报告-用c++实现银行家算法_第2页
操作系统课程设计实验报告-用c++实现银行家算法_第3页
操作系统课程设计实验报告-用c++实现银行家算法_第4页
操作系统课程设计实验报告-用c++实现银行家算法_第5页
资源描述:

《操作系统课程设计实验报告-用c++实现银行家算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统实验报告(2)学院:计算机科学与技术学院班级:计091学号:姓名:时间:2011/12/3017目录1.实验名称……………………………………………………32.实验目的……………………………………………………33.实验内容……………………………………………………34.实验要求……………………………………………………35.实验原理……………………………………………………36.实验环境……………………………………………………47.实验设计……………………………………………………47.1数据结构设计……………………………………………………………………47.2

2、算法设计…………………………………………………………………………67.3功能模块设计……………………………………………………………………78.实验运行结果………………………………………………89.实验心得……………………………………………………9附录:源代码(部分)…………………………………………………………………917一、实验名称:用C++实现银行家算法二、实验目的:通过自己编程来实现银行家算法,进一步理解银行家算法的概念及含义,提高对银行家算法的认识,同时提高自己的动手实践能力。各种死锁防止方法能够阻止发生死锁,但必然会降低系统的并发性并导致低效的资源利

3、用率。死锁避免却与此相反,通过合适的资源分配算法确保不会出现进程循环等待链,从而避免死锁。本实验旨在了解死锁产生的条件和原因,并采用银行家算法有效地防止死锁的发生。三、实验内容:利用C++,实现银行家算法四、实验要求:1.完成银行家算法的设计2.设计有n个进程共享m个系统资源的系统,进程可动态的申请和释放资源,系统按各进程的申请动态的分配资源。五、实验原理:系统中的所有进程放入进程集合,在安全状态下系统收到进程的资源请求后,先把资源试探性的分配给它。之后,系统将剩下的可用资源和进程集合中的其他进程还需要的资源数作比较,找出剩余资源能够满足的最大需求量的进程,

4、从而保证进程运行完毕并归还全部资源。这时,把这个进程从进程集合中删除,归还其所占用的所有资源,系统的剩余资源则更多,反复执行上述步骤。最后,检查进程集合,若为空则表明本次申请可行,系统处于安全状态,可以真正执行本次分配,否则,本次资源分配暂不实施,让申请资源的进程等待。银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。为实现银行家算法,系统必须设置若干数据结构。要解释银行家算法,必须先解释操作系统安全状态和不安全状态。

5、安全序列是指一个进程序列{P1,…,Pn}是安全的,如果对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj(j

6、金时就可接纳该顾客;(2)顾客可以分期贷款,但贷款的总数不能超过最大需求量;(3)当银行家现有的资金不能满足顾客尚需的贷款数额时,对顾客的贷款可推迟支付,但总能使顾客在有限的时间里得到贷款;(4)当顾客得到所需的全部资金后,一定能在有限的时间里归还所有的资金.操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程本次申请的资源数是否超过了该资源所剩余的总量。若超过则拒绝分配资源,若能满足则按当

7、前的申请量分配资源,否则也要推迟分配。六、实验环境:Win-7系统VisualC++6.0七、实验设计:1.数据结构设计定义结构体:structProcess//进程属性构成{Sourceclaim;//进程最大需求量Sourceallocation;//进程占有量Sourceclaim_allocation;//进程需求量SourcecurrentAvail;//进程可获得量};定义类对象:classSource//资源的基本构成以及功能{private:public:intR1;//定义三类类资源intR2;intR3;Source(intr1=0,in

8、tr2=0,intr3=0){R1=r1;R2=r2

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

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

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