亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 333.txt

?? 模擬實現銀行家算法
?? TXT
字號:
#include<iostream.h>

#define N 4       //定義進程數   

#define M 3       //定義資源數  

#define False 0

#define True 1

//————————————  初始化資源分配表  ——————————————

 

int Max[N][M]={{3,2,2},{6,1,3},{3,1,4},{4,2,2}};    //各進程所需最大資源數

int Allocation[N][M]={{1,0,0},{5,1,1},{2,1,1},{0,0,2}};   //系統已分配資源

int Need[N][M]={{2,2,2},{1,0,2},{1,0,3},{4,2,0}};  //還需資源

int Available[M]={1,1,2};  //系統可用資源

int Request[M];   //請求分配的資源序列

 

//—————————————   所 用 函 數  ———————————————

void showdata();//顯示資源狀況

int request(int i);//資源分配算法

int safe();//安全性算法

int free(int i);//資源釋放

 

//+++++++++++++++   輸出資源狀況  +++++++++++++++

void showdata() 

{

   int i,j;

   cout<<"+++++++++++++++++++++++++++++++"<<endl;

   cout<<"+++++    資源分配情況     +++++"<<endl;

   cout<<"+++++++++++++++++++++++++++++++"<<endl;

   //cout<<endl;

//輸出可用資源

   cout<<"系統可用資源(Available):\n";

 

   //按 <R1,R2,R3>羅列各類資源

   cout<<"  <";

   for(j=0;j<M;j++) 

   {

       cout<<"R"<<j+1;

       if(j<M-1)cout<<",";

   }

   cout<<">:";

   for (j=0;j<M;j++) //輸出可用資源

   {

       cout<<Available[j]<<" ";

   }

   cout<<endl<<endl;

//輸出所需資源

   cout<<"各進程資源最大需求(Max):\n";

   cout<<"      <R1 R2 R3>\n";

   for (i=0;i<N;i++) //掃描各進程

   {

       cout<<"  pr"<<i<<":";

       for (j=0;j<M;j++) //各類資源最大需求  

       {

           cout<<Max[i][j]<<"  ";

       }

       cout<<endl;

   } 

   cout<<endl;

   

//輸出所獲得的資源情況

   cout<<"各進程當前獲得資源(Allocation):\n";

   cout<<"      <R1 R2 R3>\n";

   for (i=0;i<N;i++)

   {

      cout<<"  pr"<<i<<":";

      for(j=0;j<M;j++)//輸出當前已分配資源數

      {

          cout<<Allocation[i][j]<<"  ";

      }

      cout<<endl;

   }

   cout<<endl;

//輸出仍需資源情況

   cout<<"各進程仍需資源(Need):\n";

   cout<<"      <R1 R2 R3>\n";

   for (i=0;i<N;i++)

   {

       cout<<"  pr"<<i<<":";

       for(j=0;j<M;j++)//輸出還需要資源數

       {

          cout<<Need[i][j]<<"  ";

       }

       cout<<endl;

   }

   cout<<"================================="<<endl;

   cout<<"================================="<<endl;

}

//+++++++++++++++++++   資 源 分 配 算 法  +++++++++++++++++++++++

int request(int i)//為進程pr[i]進行資源分配

{

    int j,flag;

    for (j=0;j<M;j++)

    {

      if(Request[j]>Need[i][j])

      {

          cout<<"對不起,申請的資源大于它需要的資源數,請重試!";

          return -1;  break;

      }

      if(Request[j]>Available[j]) 

      {

          cout<<"對不起,當前系統可用資源不夠,請等待!";

          return -1;  break;

      }

    }

    for (j=0;j<M;j++)

    {

      Available[j]=Available[j]-Request[j];   //可用資源減少

      Allocation[i][j]=Allocation[i][j]+Request[j];//所得資源增加

      Need[i][j]=Need[i][j]-Request[j];       //仍需資源減少

    }

    flag=safe();

    if(flag<0) 

    {

        cout<<"分配不成功,請等待!";

        for (j=0;j<M;j++)//把資源恢復成分配之前的狀態

        { 

            Available[j]=Available[j]+Request[j];  

            Allocation[i][j]=Allocation[i][j]-Request[j]; 

            Need[i][j]=Need[i][j]+Request[j]; 

        }

    }

    return 0;

}

//+++++++++++++++++++++++   安 全 性 算 法  +++++++++++++++++++++++++

int safe()

{

    int Finish[N]={False};

    int Work[M],temp[N];

    int i,j,k,z=0,flag;

    for(j=0;j<M;j++) 

        Work[j]=Available[j]; //工作分配初始化為系統可用資源 

    for(i=0;i<N;i++) //掃描所有進程

    {

        flag=0; //標記 

        for(j=0;j<M;j++)//掃描各類資源

        {

          if(Finish[i]==False && Need[i][j]<=Work[j])//R[j]類資源滿足

          {   

              flag++; //統計得到滿足的資源類總數

              if(flag==M) //進程Pr[i]各類全部得到滿足

              {

                for(k=0;k<M;k++)

                    Work[k]+=Allocation[i][k];//工作分配加上可用資源

                Finish[i]=True; //將進程pr[i]寫入安全序列中

                temp[z]=i; z++; //序列生成

                i=-1; //為下一次進程全掃描作準備               

              }

          }

          else break;

        }

        if(Finish[i]==False && i==N-1)//全掃描至最后一個進程仍未分配 

        {

            cout<<"系統不安全!!!\n";//如果不成功,輸出系統不安全

            return -1;

            break;

        }

        else if(Finish[i]==True && i==N-1) break;//進程全部分配成功

    }

    cout<<"系統資源分配成功!"<<endl; //如果安全,輸出成功

    cout<<"安全序列:";

    for(z=0;z<N;z++)  //輸出安全序列

        cout<<"pr"<<temp[z]<<" ";

    cout<<endl;

    return 0;

}

//+++++++++++++++++++   資 源 釋 放  +++++++++++++++++++++

int free(int i)

{

    int j;

    for(j=0;j<M;j++)

    {

        Available[j]+=Allocation[i][j]; //系統可用資源增加

        Allocation[i][j]=0;  //進程所獲資源置0

    }

    return 1;

}

//++++++++++++++++++++   主 函 數  +++++++++++++++++++++++

void main()

{

    int choice;  //用戶選擇

    showdata();  //顯示資源狀況

    safe();  //進行安全性檢查

    while(1)

    {

       cout<<endl;

       cout<<"************************************"<<endl;

       cout<<"**   1:分配資源     2:釋放資源    **"<<endl;

       cout<<"**   3:顯示資源     4:離    開    **"<<endl;

       cout<<"************************************"<<endl;

       cout<<"輸入要進行的操作:";

       cin>>choice;

       if(choice==1)//分配資源

       {

           int i;

           cout<<"請輸入您要分配的進程號(0,1,2,3):";

           cin>>i;

           cout<<"請輸入您要為該進程分配的資源<R1,R2,R3>:";

           for(int j=0;j<M;j++) cin>>Request[j];

           request(i);

       }

       else if(choice==2)//釋放資源

       {

           int i;

           cout<<"請輸入您要釋放資源的進程號(0,1,2,3):";

           cin>>i;

           free(i);

       }

       else if(choice==3)//顯示資源

       {

           showdata();

       }

       else if(choice==4)  break; //離 開

       else cout<<"請輸入合法數字!";

    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美老人xxxx18| 九色综合狠狠综合久久| 国产成人精品aa毛片| 国产午夜精品久久久久久免费视| 美女一区二区三区在线观看| 日韩视频免费直播| 国产精品一区二区男女羞羞无遮挡| 久久婷婷久久一区二区三区| 成人毛片老司机大片| 亚洲另类中文字| 欧美日韩国产乱码电影| 捆绑调教一区二区三区| 久久久久国产精品麻豆| 91麻豆福利精品推荐| 天天色综合成人网| 久久久精品欧美丰满| 91社区在线播放| 日韩不卡免费视频| 国产精品久久久久永久免费观看 | 国产婷婷色一区二区三区四区 | 蜜臀久久99精品久久久画质超高清| 日韩精品一区二区三区四区视频 | 精品成人佐山爱一区二区| 成人av电影在线| 亚洲成a人片在线不卡一二三区| 日韩视频永久免费| 成人性视频免费网站| 无吗不卡中文字幕| 国产精品国产三级国产aⅴ原创 | 国产激情视频一区二区三区欧美| 亚洲精品日韩一| 久久综合久久综合久久| 欧美色精品在线视频| 成人性生交大合| 捆绑紧缚一区二区三区视频| 亚洲一级二级在线| 中文字幕制服丝袜一区二区三区| 91精品国模一区二区三区| 91香蕉视频污在线| 国产一区二区三区电影在线观看 | 91成人在线精品| 成人免费视频app| 久久99热99| 日本伊人色综合网| 亚洲成a天堂v人片| 亚洲制服丝袜av| 亚洲欧美日韩系列| 中文字幕在线不卡视频| 国产午夜精品一区二区三区四区| 日韩欧美高清一区| 9191成人精品久久| 欧美日韩国产天堂| 精品视频1区2区| 色哦色哦哦色天天综合| a亚洲天堂av| eeuss鲁一区二区三区| 国产福利精品导航| 国产精品2024| 国产成人高清视频| 国产91精品一区二区| 国产一区二区三区日韩| 国产真实乱对白精彩久久| 精品一二三四在线| 狠狠色狠狠色综合系列| 精品亚洲成av人在线观看| 久久99在线观看| 国产乱理伦片在线观看夜一区 | 久久色视频免费观看| 久久午夜免费电影| 国产婷婷一区二区| 国产精品久久久久影院亚瑟| 国产精品久久久久久福利一牛影视| 国产女人18水真多18精品一级做| 国产亚洲精久久久久久| 中文字幕亚洲在| 一区二区三区久久| 日韩av一级片| 国产原创一区二区| 国产成人午夜片在线观看高清观看| 国产传媒欧美日韩成人| 91天堂素人约啪| 欧美日韩免费视频| 精品裸体舞一区二区三区| 久久精品无码一区二区三区| 亚洲天天做日日做天天谢日日欢| 亚洲一区二区中文在线| 毛片av一区二区| 粉嫩在线一区二区三区视频| 色综合天天狠狠| 欧美一区二区在线看| 久久久精品综合| 亚洲妇女屁股眼交7| 精彩视频一区二区三区| 91亚洲国产成人精品一区二区三| 欧美电影一区二区三区| 国产日韩欧美激情| 午夜精品福利久久久| 国产宾馆实践打屁股91| 欧美日韩二区三区| 欧美国产成人精品| 日本美女视频一区二区| 91免费小视频| 欧美一区二区精品久久911| 日本一区二区三区dvd视频在线| 午夜久久福利影院| 99久久99久久综合| 日韩一区二区三区四区| 一区二区国产视频| 成年人午夜久久久| 精品国产成人在线影院 | 欧洲av一区二区嗯嗯嗯啊| 日韩免费看的电影| 一区二区三区精品在线| 国产激情精品久久久第一区二区 | 亚洲一区免费在线观看| 国产精品一区二区久久精品爱涩| 欧美日韩另类一区| 亚洲欧美激情在线| 成人午夜短视频| ww亚洲ww在线观看国产| 日本成人在线网站| 欧美性受极品xxxx喷水| 国产精品久久久久久久久久免费看| 日欧美一区二区| 欧美久久一二三四区| 亚洲欧美国产毛片在线| 成人激情开心网| 国产婷婷色一区二区三区在线| 蜜桃视频在线观看一区| 欧美日韩国产a| 亚洲h动漫在线| 在线免费亚洲电影| 一区二区三区四区视频精品免费 | 欧美性一区二区| 亚洲制服丝袜在线| 在线观看免费一区| 亚洲成av人综合在线观看| 色综合久久天天| 亚洲一区二区在线免费观看视频| 91亚洲精品久久久蜜桃| 一区二区三区电影在线播| 91精品1区2区| 亚洲福利视频导航| 在线不卡中文字幕播放| 美女在线视频一区| www国产精品av| 不卡的av网站| 亚洲国产一区二区a毛片| 欧美丰满高潮xxxx喷水动漫| 日本va欧美va精品| 精品sm在线观看| 成人18精品视频| 亚洲成人免费视| 日韩免费高清视频| 国产成人福利片| 亚洲综合成人在线视频| 欧美男女性生活在线直播观看| 亚洲地区一二三色| 日韩女同互慰一区二区| 国产麻豆午夜三级精品| 中文字幕一区二区三区视频| 欧美中文字幕一区| 美女免费视频一区二区| 久久精品视频在线看| 91麻豆福利精品推荐| 日韩精品视频网站| 国产日产亚洲精品系列| 欧美日精品一区视频| 久久丁香综合五月国产三级网站 | 成人精品免费看| 亚洲资源中文字幕| 欧美大片一区二区| www.日韩精品| 日韩av一区二区三区| 亚洲国产精品v| 在线播放欧美女士性生活| 国产91丝袜在线播放| 三级欧美韩日大片在线看| 国产精品免费免费| 日韩欧美在线观看一区二区三区| 成人精品视频一区二区三区尤物| 日韩精品视频网站| 亚洲桃色在线一区| 日韩免费观看高清完整版在线观看| youjizz国产精品| 黄色精品一二区| 日日夜夜精品免费视频| 亚洲私人黄色宅男| 国产日韩精品一区二区浪潮av | 亚洲色图欧洲色图| 26uuu久久天堂性欧美| 欧美日韩一区在线| 色综合久久综合网欧美综合网| 国内精品在线播放| 日本伊人精品一区二区三区观看方式| 国产精品久久综合| 国产午夜亚洲精品羞羞网站| 这里是久久伊人| 欧美三级日本三级少妇99| 色综合久久中文综合久久97|