银行家算法C++代码实现

银行家算法C++代码实现

ID:38465210

大小:182.99 KB

页数:14页

时间:2019-06-13

银行家算法C++代码实现_第1页
银行家算法C++代码实现_第2页
银行家算法C++代码实现_第3页
银行家算法C++代码实现_第4页
银行家算法C++代码实现_第5页
资源描述:

《银行家算法C++代码实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编号:实验一二三四五六七八九十总评教师签名成绩武汉大学计算机学院课程实验(设计)报告专业(班):计算机科学与技术计科6班学号:2013301500217姓名:张伟课程名称:操作系统设计任课教师:宋伟2015年12月22日14银行家算法实现一、实习内容编写实现银行家算法,实现资源的安全分配。通过本实验熟悉银行家算法,对预防死锁有更深刻的认识。二、实习题目初始状态下,设置数据结构存储可利用资源向量(Available),最大需求矩阵(MAX),分配矩阵(Allocation),需求矩阵(Need),输入待分配进程队列和所需资源。设计安全性算法,设置工作向量表示

2、系统可提供进程继续运行的可利用资源数目。如果进程队列可以顺利执行打印输出资源分配情况,如果进程队列不能顺利执行打印输出分配过程,提示出现死锁位置。三、设计思想数据结构classprocess//定义进程{public:boolfinish=false;//完成状态intneed[max_resources];//还需要分配的资源intallocation[max_resources];//已经分配的资源intmax_need[max_resources];//最大需求量intrequest[max_resources];//本次需求量public:proc

3、ess(int_need[max_resources],int_allocation[max_resources],int_max_need[max_resources]){for(inti=0;i

4、rces;i++){need[i]=_need[i];allocation[i]=0;max_need[i]=_max_need[i];}}//赋值函数14process(){}};主要函数(1)boolcheck_safe(intwork[max_process],processmy_process[max_process])//安全性算法(2)booldestribute(intavailable[max_resources],processthe_process,processmy_process[max_process])//是否分配空间成功的算法

5、(3)voidinit(intavailable[max_resources],processmy_process[max_process])//初始化函数Main函数intmain(){int_need[max_resources];int_allocation[max_resources];intavailable[max_resources];processmy_process[max_process];inti,j;intchoice=1;init(available,my_process);while(true){cout<<"选项1:继续分

6、配2:查看当前available资源数其他字符:退出";scanf_s("%d",&choice);switch(choice){case1:{cout<<"请输入本次请求分配给第i个进程的资源,格式:进程号xxxxxxxx,空格隔开"<

7、"此次destribute成功"<

8、的基本思想是分配资源之前,判断系统是否是安全的;若是,才分配。它是

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

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

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