操作系统银行家算法

cout<<\所请求资源数超过进程的需求量!\\n\ return 0; }

if (Request[mi][i]>Available[i]) {

cout<<\所请求资源数超过系统所有的资源数!\\n\ return 0; } }

for (i=0;i

if (Safe())

cout<<\同意分配请求~~~\\n\else { cout<<\╮(╯▽╰)╭……你的请求被拒绝…\\n\ for (i=0;i

for (i=0;i

char Flag; //标志位

cout<<\是否再次请求分配?是请按Y/y,否请按N/n\while (1) { cin>>Flag; if (Flag=='Y'||Flag=='y'||Flag=='N'||Flag=='n') break; else { cout<<\请按要求重新输入:\\n\ continue; } }

if (Flag=='Y'||Flag=='y') continue;

可编辑word,供参考版!

}

}

else break;

主要代码段分析

1. 在开始编写程序时,由于相关参数由用户自己进行输入时,由于运用scanf和printf语

句,造成程序长度很长,而且输入子程序复杂度为O(),程序反应速度也比较慢。后来改用cin和cout函数程序长度大大缩短。

2. 由于程序的可重复使用的方便性,采取设立标志位Flag,由用户输入命令(Y/N或y/n)

用以作为程序继续运行和结束的标志。

实验心得

本次试验老师要求对固定的资源进行分配,虽然实现起来比较简单,但是其只能算固定的一种情况,所以在此基础上,我进行了改进,即相关参数由用户自己进行输入增加其实用性。下图为程序运行情况:

可编辑word,供参考版!

【此文档部分内容来源于网络,如有侵权请告知删除,本文档可自行编辑和修改内容,感谢您的支持!】

可编辑word,供参考版!

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4