xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 5KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-08
  • 語(yǔ)言: C/C++
  • 標(biāo)簽:

資源簡(jiǎn)介

銀行家算法是一個(gè)避免死鎖的著名算法,它以銀行借貸系統(tǒng)的分配策略為基礎(chǔ),判斷并保證系統(tǒng)的安全運(yùn)行。

資源截圖

代碼片段和文件信息

#include??
#include??
#include
using?namespace?std;??
#define?MAX_PROCESS?100??
#define?MAX_RESOURCE?100??
int?Available[MAX_RESOURCE];????????????????????//可用資源數(shù)組????
int?Max[MAX_PROCESS][MAX_RESOURCE];????????????//最大需求矩陣????
int?Allocation[MAX_PROCESS][MAX_RESOURCE];????//分配矩陣???
int?Need[MAX_PROCESS][MAX_RESOURCE];?????//需求矩陣????
int?Request[MAX_PROCESS][MAX_RESOURCE];????????//進(jìn)程需要資源數(shù)???
int?p[MAX_PROCESS];?????????????????????????????//記錄序列??
int?nm;????????????????????????????????????//n個(gè)進(jìn)程m個(gè)資源????
void?Init()????????????????//初始化算法????
{????
????int?ij;????
????printf(“請(qǐng)輸入進(jìn)程的數(shù)目:\n“);??
????scanf(“%d“&n);???
????printf(“請(qǐng)輸入資源的種類:\n“);???
????scanf(“%d“&m);??
????printf(“請(qǐng)輸入每個(gè)進(jìn)程最多所需的各資源數(shù)按照%dx%d矩陣從左到右、從上到下輸入:\n“nm);????
????for(i=0;i????{??
????????for(j=0;j????????{??
????????????scanf(“%d“&Max[i][j]);??
????????}??
????}??
????printf(“請(qǐng)輸入每個(gè)進(jìn)程已分配的各資源數(shù)也按照%dx%d矩陣從左到右、從上到下輸入:\n“nm);????
????for(i=0;i????{????
????????for(j=0;j????????{????
????????????scanf(“%d“&Allocation[i][j]);???
????????????Need[i][j]=Max[i][j]-Allocation[i][j];???
????????????if(Need[i][j]<0)????
????????????{????
????????????????printf(“您輸入的第%d個(gè)進(jìn)程所擁有的第%d個(gè)資源數(shù)錯(cuò)誤請(qǐng)重新輸入:\n“i+1j+1);????
????????????????j--;????
????????????????continue;????
????????????}????
????????}????
????}????
????printf(“請(qǐng)輸入各個(gè)資源現(xiàn)有的數(shù)目:\n“);????
????for(i=0;i????{????
????????scanf(“%d“&Available[i]);??
????}??????
}????
bool?Safe()????//安全性算法??
{????
????int?ijkl=0;????
????int?Work[MAX_RESOURCE];?//工作數(shù)組他表示系統(tǒng)可提供給進(jìn)程繼續(xù)運(yùn)行所需的各類資源數(shù)目????
????int?Finish[MAX_PROCESS];??//系統(tǒng)是否有足夠的資源分配給進(jìn)程,使之運(yùn)行完成???
????for(i=0;i????{??
????????Work[i]=Available[i];??
????}????
????//Finish每個(gè)進(jìn)程是否安全??
???
????memset(Finish0sizeof(Finish));???
????for(i=0;i????{??????
???????if(Finish[i])?continue;??
????????for(j=0;j????????{??
????????????//第i個(gè)進(jìn)程需要的第j個(gè)資源數(shù)?>?系統(tǒng)現(xiàn)有的第j個(gè)資源數(shù)???
????????????if(Need[i][j]>Work[j])?break;??
????????}??
????????if(j==m)//如果第i個(gè)進(jìn)程所需的各個(gè)資源數(shù)都沒(méi)有超過(guò)系統(tǒng)現(xiàn)有的對(duì)應(yīng)資源數(shù)????
????????{?????
????????????Finish[i]=1;//給該進(jìn)程的FINISH標(biāo)記為true????
????????????for(k=0;k????????????{????
????????????????Work[k]+=Allocation[i][k];//將Work賦值為?第i個(gè)進(jìn)程各個(gè)已分配資源數(shù)+系統(tǒng)現(xiàn)有的對(duì)應(yīng)資源數(shù)(因?yàn)楫?dāng)改進(jìn)程全部資源數(shù)都滿足時(shí)線程

評(píng)論

共有 條評(píng)論

相關(guān)資源