民大-银行家算法-操作系统实验报告

发布时间 : 星期三 文章民大-银行家算法-操作系统实验报告更新完毕开始阅读

void main() { int i,j;

inputdata(); for(i=0;i

if (i>=M)

cout<<\错误提示:经安全性检查发现,系统的初始状态不安全!!!\\n\<

{ cout<<\提示:经安全性检查发现,系统的初始状态安全!\<

void inputdata() { int i=0,j=0,p;

cout<<\请输入总进程数:\<>M; if (M>W) cout<W); cout<

cout<<\请输入资源的种类数:\<>N; if (N>R) cout<R);

cout<

cout<<\请依次输入各类资源的总数量,即设置向量all_resource:\<>ALL_RESOURCE[i]; cout<

cout<<\请依次输入各进程所需要的最大资源数量,即设置矩阵max:\<

for (j=0;j

do { cin>>MAX[i][j];

if (MAX[i][j]>ALL_RESOURCE[j])

cout<ALL_RESOURCE[j]); } }

cout<

cout<<\请依次输入各进程已经占据的各类资源数量,即设置矩阵allocation:\<>ALLOCATION[i][j]; if (ALLOCATION[i][j]>MAX[i][j]) cout<MAX[i][j]); } }

cout<

{ p=ALL_RESOURCE[j]; for (i=0;i

void showdata() { int i,j;

cout<<\各种资源的总数量,即向量all_resource为:\<

for (j=0;j

cout<<\当前系统中各类资源的可用数量,即向量available为:\<

for (j=0;j

cout<<\各进程还需要的资源数量,即矩阵need为:\<

{ cout<<\进程P\<

cout<

cout<<\各进程已经得到的资源量,即矩阵allocation为: \<

{ cout<<\进程P\<

void changdata(int k) { int j; for (j=0;j

void restoredata(int k) { int j; for (j=0;j

}

int chksec(int s) { int WORK,FINISH[W]; int i,j,k=0; for(i=0;i

int chkmax(int s) { int j,flag=0; for(j=0;j

int i=0,j=0;

char flag='Y';

while(flag=='Y'||flag=='y') {

i=-1;

while(i<0||i>=M) { cout<<\请输入需申请资源的进程号(从P0到P\<>i; if(i<0||i>=M) cout<<\输入的进程号不存在,重新输入!\<

cin>>Request[j];

if(Request[j]>NEED[i][j]) { cout<<\进程P\<AVAILABLE[j]) { cout<<\进程P\<

cout<<\在资源收回之后,各进程的资源需求和分配情况如下所示:\<>flag; }

}

六、运行结果分析

1.输入进程数、资源种类数、各类资源总数量、各进程所需要的最大资源数量、各进程所已经占据的各类资源数量

联系合同范文客服:xxxxx#qq.com(#替换为@)