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

  • 大小: 8KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-17
  • 語言: C/C++
  • 標簽:

資源簡介

(1) 簡單的交互界面 (2) 能顯示當前系統(tǒng)資源的剩余情況和占用情況 (3) 能輸入每個進程的最大資源要求 模擬利用銀行家算法為進程的若干次資源請求分配資源 (4) 輸入本次資源要求; (5) 按銀行家算法為進程分配資源,本次分配是否成功要顯示出來(要能處理各種情況:可以滿足這次請求、由于資源不夠不能滿足這次請求、由于可能產(chǎn)生不安全不能滿足這次請求、請求不合理拒絕請求等) (6) 作業(yè)撤銷時要回收資源

資源截圖

代碼片段和文件信息


//5.源程序代碼
#include?
#include?
#include?
#include?
//定義全局變量
const?int?x=10y=10;???//常量,便于修改
int?Available[x];??????//各資源可利用的數(shù)量
int?Allocation[y][y];??//各進程當前已分配的資源數(shù)量
int?Max[y][y];??//各進程對各類資源的最大需求數(shù)
int?Need[y][y];?//尚需多少資源
int?Request[x];?//申請多少資源
int?Work[x];?//工作向量,表示系統(tǒng)可提供給進程繼續(xù)運行所需的各類資源數(shù)量
int?Finish[y];?//表示系統(tǒng)是否有足夠的資源分配給進程,1為是
int?p[y];??//存儲安全序列
int?ij;???//i表示進程,j表示資源
int?nm;??//n為進程i的數(shù)量m為資源j種類數(shù)
int?l=0;???//l用來記錄有幾個進程是Finish[i]=1的,當l=n是說明系統(tǒng)狀態(tài)是安全的
int?counter=0;
?
//函數(shù)聲明
void?chushihua();???//初始化函數(shù)
void?safe();??????//安全性算法
void?show();????//函數(shù)show輸出當前狀態(tài)
void?bank();?????//銀行家算法
void?jieshu();??????//結(jié)束函數(shù)

void?chushihua()
{
????cout<<“輸入進程的數(shù)量:?“;//從此開始輸入有關(guān)數(shù)據(jù)
????cin>>n;
????cout<<“輸入資源種類數(shù):?“;
????cin>>m;
????cout< cout<<“............................................“<????for?(j=0;?j????{
???????cout<<“????輸入資源?“<???????cin>>Available[j];?//輸入數(shù)字的過程...
???????Work[j]=Available[j];??????//初始化Work[j],它的初始值就是當前可用的資源數(shù)
????}
????cout<????cout<<“............................................“< for?(i=0;?i????{
cout<<“?????輸入進程?“<????????for?(j=0;?j????????{
???????
????????cin>>Allocation[i][j];
????????}
????cout<????Finish[i]=0;//初始化Finish[i]
????}
????cout<????for?(i=0;?i????{??cout<<“???輸入進程?“<????????for?(j=0;?j????????{
????????
??????????cin>>Max[i][j];
??????????if(Max[i][j]>=Allocation[i][j])?//若最大需求大于已分配,則計算需求量
??????????Need[i][j]?=?Max[i][j]-Allocation[i][j];
??????????else
??????????Need[i][j]=0;//Max小于已分配的時候,此類資源已足夠不需再申請
????????}
??????cout<????}
????cout<}

//安全性算法函數(shù)
void?safe()
{
????l=0;
????for?(i=0;?i?{??//i++
????if?(Finish[i]==0)
??{??//逐個查找Finish[i]==0的進程????條件一
????counter=0;???//記數(shù)器
????for?(j=0;?j????{
????if?(Work[j]>=Need[i][j])??counter=counter+1;//可用大于需求,記數(shù)
????}
????if(counter==m)??//i進程的每類資源都符合Work[j]>=Need[i][j]?條件二
????{
????????p[l]=i;??//存儲安全序列
????????Finish[i]=1;??//i進程標志為可分配
????????for?(j=0;?j???????????Work[j]=Work[j]+Allocation[i][j];??//釋放資源
????????l=l+1;?//記數(shù)現(xiàn)在有L個進程是安全的,當L=N時說明滿足安全序列
????????i=?-1;?//從第一個進程開始繼續(xù)尋找滿足條件一二的進程
????}
??}
?}
}

//顯示當前狀態(tài)函數(shù)
void?show()?//函數(shù)show輸出當前資源分配情況
{
????int?ij;?//局部變量
????int?All[y];?//各種資源的總數(shù)量
????int?L1;?//局部變量L1
????cout<<“當前的狀態(tài)為:“<????cout<<“各種資源的總數(shù)量:“<????for?(j=0;j????{
????cout<<“?資源“<????All[j]=Available[j];???//總數(shù)量=可用的+已分配的
????for?(i=0;i????cout<????}
????cout<????for?(j=0;j??????????cout<<“?資源“<

評論

共有 條評論

相關(guān)資源