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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? banker.c

?? 操作系統(tǒng)中的銀行家算法 C語言實現(xiàn) VC6.0編譯
?? C
字號:
#include<stdio.h>
#include <string.h>
#define RES 3
#define PRO 5
int Security();
int rqt[PRO][RES];
int mx[PRO][RES]={{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}};
int alloc[PRO][RES]={{0,1,0},{2,0,0},{3,0,2},{2,1,1},{0,0,2}};
int avl[RES]={3,3,2};
int ned[PRO][RES]={{7,4,3},{1,2,2},{6,0,0},{0,1,1},{4,3,1}};
int Work[RES];                          /*工作數(shù)組*/
int tempWork[PRO][RES];
int Finish[PRO];
int p[PRO];                             /*記錄序列*/
int static Flag=0;
void PrintHead()
{
	printf("  ----------------------------------------------------------------------\n");
	printf("  |      Max     |      Allocation     |      Need    |    Available   |\n");
	printf("  ----------------------------------------------------------------------\n");
	printf("  | A    B    C  |     A    B    C     |   A   B   C  |   A    B    C  |\n");
	printf("  ----------------------------------------------------------------------\n");
}
void List()
{
	int i;
	for(i=0;i<PRO;i++)
	if (i==0)
	printf("P%d|  %d   %d    %d  |     %d    %d    %d     |   %d   %d   %d  |   %d    %d    %d  |\n",i,mx[i][0],mx[i][1],mx[i][2],alloc[i][0],alloc[i][1],alloc[i][2],ned[i][0],ned[i][1],ned[i][2],avl[0],avl[1],avl[2]);
	else
	printf("P%d|  %d   %d    %d  |     %d    %d    %d     |   %d   %d   %d  |                |\n",i,mx[i][0],mx[i][1],mx[i][2],alloc[i][0],alloc[i][1],alloc[i][2],ned[i][0],ned[i][1],ned[i][2]);
	printf("  ----------------------------------------------------------------------\n");
	printf("	                      T0時刻的資源分配表                              \n");
}
void Print()
{
	printf("  -------------------------------------------------------------------------\n");
	printf("  |    Work    |    Need    |   Allocation  |   Work+Allocation  |        | \n");
	printf("  ---------------------------------------------------------------| Finish |\n");
	printf("  | A   B   C  |  A  B  C   |   A   B   C   |   A     B     C    |        |\n");
	printf("  -------------------------------------------------------------------------\n");
}
void Success()
{
	int j;
	int i;
	int k;
	int temp_work[1][3];
	for(j=0;j<PRO;j++)
	{
		i=p[j];
		if (j==PRO-1)
		{
			for (k=0;k<3;k++)
			{
				temp_work[0][k]=tempWork[i][k]+alloc[i][k];
			}
			printf("P%d| %d   %d   %d  |  %d  %d  %d   |   %d   %d   %d   |   %d     %d     %d    |",i,tempWork[i][0],tempWork[i][1],tempWork[i][2],ned[i][0],ned[i][1],ned[i][2],alloc[i][0],alloc[i][1],alloc[i][2],temp_work[0][0],temp_work[0][1],temp_work[0][2]);
		}
		else
		printf("P%d| %d   %d   %d  |  %d  %d  %d   |   %d   %d   %d   |   %d     %d     %d    |",i,tempWork[i][0],tempWork[i][1],tempWork[i][2],ned[i][0],ned[i][1],ned[i][2],alloc[i][0],alloc[i][1],alloc[i][2],tempWork[p[j+1]][0],tempWork[p[j+1]][1],tempWork[p[j+1]][2]);
		if (Finish[i]==1) printf("  true  |");
		else printf("  false  |");
		printf("\n");
	}
		printf("  -------------------------------------------------------------------------\n");
		printf("	                     T0時刻的安全序列                                      \n");
}
int Security()                                    /*安全性算法*/
{
    int i,j,k,l=0;
	int tempflag=0;
    for(i=0;i<RES;i++)
		Work[i]=avl[i];
    for(i=0;i<PRO;i++)
    {
        Finish[i]=0;
    }
    for(i=0;i<PRO;i++)
    {    
        if(Finish[i]==1)
        {
            continue;
        }
        else
        {
            for(j=0;j<RES;j++)
            {
                if(ned[i][j]>Work[j])
                {
                    break;
                }
            }
			
			
            if(j==RES)
            { 
                Finish[i]=1;
				if (tempflag==0)
				{
					for (k=0;k<RES;k++)
						tempWork[i][k]=avl[k];
					
			}
                for(k=0;k<RES;k++)
                {
                    Work[k]+=alloc[i][k];
					if (tempflag!=0)
					{
						tempWork[i][k]=tempWork[p[l-1]][k]+alloc[p[l-1]][k];
					}
					
                }
				tempflag++;
                p[l++]=i;
                i=-1;
            }
            else
            {
                continue; 
            }
        }
        if(l==PRO)
        {
            printf("  系統(tǒng)是安全的\n");
            printf("  安全序列:");
            for(i=0;i<l;i++)
            {
                printf("%d",p[i]);
                if(i!=l-1)
                {
                    printf("-->");
                }
            }
			 printf("\n");
			 if (Flag==0)
			 {
			Print();
			 Success();
			 }
			 Flag++;
            return 1;
        }
    }
    printf("  系統(tǒng)是不安全的\n");
    return 0;
} 

void Banker()                /*銀行家算法*/
{
    int i,ProId;
    char again;
    while(1)
    {
temp:printf("  請輸入要申請資源的進程號 ");
        scanf("%d",&ProId);
   printf("  請輸入進程所請求的各資源的數(shù)量 Request(A B C) ");
		scanf("%d %d %d",&rqt[ProId][0],&rqt[ProId][1],&rqt[ProId][2]);
        for(i=0;i<RES;i++)
        {
            if(rqt[ProId][i]>ned[ProId][i])
            {
                printf("  您輸入的請求數(shù)超過進程的需求量,請重新輸入!\n");
                goto temp;
            }
            if(rqt[ProId][i]>avl[i])
            {
                printf("  您輸入的請求數(shù)超過系統(tǒng)有的資源數(shù),請重新輸入!\n");
                goto temp;
            }
        }
        for(i=0;i<RES;i++)
        {
            avl[i]-=rqt[ProId][i];
            alloc[ProId][i]+=rqt[ProId][i];
            ned[ProId][i]-=rqt[ProId][i];
        }
        if(Security())
        {
            printf("  資源請求分配成功!\n");
        }
        else
        {
            printf("  您的請求被拒絕!\n");
        }
        for(i=0;i<PRO;i++)
        {
            Finish[i]=0;
        }
		for(i=0;i<RES;i++)      //資源回收
		{
			avl[i]+=rqt[ProId][i];
			alloc[ProId][i]-=rqt[ProId][i];
			ned[ProId][i]+=rqt[ProId][i];
            }
        printf("  您還想再次請求分配嗎?是請按y/Y,否請按其它鍵");
		getchar();
        scanf("%c",&again);
        if(again=='y'||again=='Y')
        {
            continue;
        }
        break;
	}
}


int  main()
{
    int i=0,j=0,k;
    printf("  ----------------------------------------------------------------------\n");
	printf("  |                                                                    |\n");
	printf("  |                                                                    |\n");
	printf("  |                    銀行家算法  0500303132                          |\n");
	printf("  |                     05計算機1  周文兵                              |\n");
	printf("  |                                                                    |\n");
	printf("  ----------------------------------------------------------------------\n");
	printf("\n");
	printf("\n");
    PrintHead();
	List();
	k=Security();
	if (k==1)
	{
			Banker();
	}

}
   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲综合久久| 亚洲天堂福利av| 欧美高清在线视频| 一区二区在线观看免费| 免费成人在线播放| 在线免费精品视频| 亚洲国产精品精华液2区45| 偷拍自拍另类欧美| 91色.com| 国产亚洲va综合人人澡精品| 亚洲福中文字幕伊人影院| 国产aⅴ综合色| 欧美一区二区三区婷婷月色 | 欧美日韩在线观看一区二区| 久久久蜜桃精品| 日韩高清不卡在线| 色综合久久天天| 国产精品视频九色porn| 久久99久久精品| 欧美二区三区91| 一区二区在线看| 不卡视频在线观看| 欧美激情在线一区二区三区| 国产一区二区伦理| 欧美va亚洲va在线观看蝴蝶网| 亚洲妇熟xx妇色黄| 欧美色老头old∨ideo| 樱桃视频在线观看一区| youjizz国产精品| 国产精品国产三级国产三级人妇| 国产一区二区调教| 国产丝袜在线精品| 国产乱人伦偷精品视频不卡 | 国产亚洲成aⅴ人片在线观看| 麻豆国产一区二区| 日韩欧美激情一区| 另类欧美日韩国产在线| 91精品国产色综合久久ai换脸| 亚洲一级二级在线| 欧美日韩亚洲综合一区二区三区| 亚洲电影第三页| 欧美日韩成人在线| 日本不卡不码高清免费观看| 日韩久久久久久| 国产一区二区三区黄视频 | 久久久午夜电影| 国产福利精品导航| 国产精品久久久久久久蜜臀| 91一区二区三区在线观看| 亚洲另类一区二区| 欧美日产在线观看| 中文字幕一区二区三区蜜月| 日韩一区二区在线看片| 香蕉影视欧美成人| 国产精品传媒入口麻豆| 国内精品国产成人国产三级粉色| 日韩精品最新网址| 亚洲一区二区三区视频在线| 欧美—级在线免费片| 欧美成人精品高清在线播放| 欧美日韩大陆在线| 欧美午夜精品久久久久久超碰| 成人免费观看av| 国内外精品视频| 麻豆精品视频在线观看免费| 亚洲国产欧美在线| 亚洲综合免费观看高清完整版在线 | 国产精品久久久久影视| 精品国产露脸精彩对白| 欧美一区国产二区| 欧美日本一道本| 色域天天综合网| k8久久久一区二区三区| 成人美女视频在线观看| 国产伦理精品不卡| 国产精品一区免费视频| 韩国av一区二区三区四区 | 亚洲资源在线观看| 亚洲人精品午夜| 日韩美女视频一区二区| 亚洲人成在线观看一区二区| 亚洲色图欧美激情| 亚洲精品亚洲人成人网| 夜夜操天天操亚洲| 亚洲成a人片在线观看中文| 亚洲女女做受ⅹxx高潮| 一区二区三区**美女毛片| 一级中文字幕一区二区| 亚洲国产欧美日韩另类综合| 五月天亚洲精品| 美女在线视频一区| 国产综合一区二区| 国产大陆亚洲精品国产| 9色porny自拍视频一区二区| 色综合天天综合在线视频| 欧美日韩一区二区三区四区五区| 欧美日韩一区久久| 日韩一区二区三区电影| 久久亚洲一区二区三区四区| 国产精品欧美精品| 亚洲视频在线观看一区| 午夜成人免费电影| 韩国成人在线视频| 91在线高清观看| 精品视频1区2区| 精品久久久久久最新网址| 国产欧美日韩亚州综合| 亚洲男人的天堂在线aⅴ视频| 亚洲国产sm捆绑调教视频| 久久66热re国产| 99久久久久久| 91精品国产综合久久久久| 久久久久88色偷偷免费| 一区二区三区日本| 久久精品国产亚洲高清剧情介绍 | 成人精品一区二区三区中文字幕| 欧美日韩午夜在线视频| 日韩欧美一卡二卡| 中文字幕一区二区在线播放| 午夜激情综合网| 国产成人午夜精品影院观看视频 | 欧美日本国产视频| 久久看人人爽人人| 亚洲高清一区二区三区| 国产乱码一区二区三区| 欧美一a一片一级一片| 久久影院午夜片一区| 亚洲一区免费在线观看| 精品一区二区日韩| 欧美日韩一区二区三区四区五区| 国产丝袜美腿一区二区三区| 偷偷要91色婷婷| 99re这里只有精品首页| 2022国产精品视频| 亚洲成精国产精品女| 成人av在线看| 精品国产一区a| 午夜精品影院在线观看| 99热精品国产| 亚洲精品在线免费播放| 午夜亚洲国产au精品一区二区| 国产成人av一区| 日韩精品中文字幕一区二区三区| 一区二区三区四区蜜桃| 成人性生交大片| 精品成人a区在线观看| 婷婷中文字幕一区三区| 在线视频欧美区| 中文字幕在线观看不卡| 国产一区二区在线影院| 日韩亚洲欧美一区| 天堂在线亚洲视频| 91蜜桃传媒精品久久久一区二区| 久久精品视频在线免费观看| 日本伊人精品一区二区三区观看方式 | 国产精品美女久久久久久久久| 精品一区二区国语对白| 欧美福利一区二区| 亚洲一区二区黄色| 在线免费不卡视频| 亚洲视频一区在线观看| 99亚偷拍自图区亚洲| 国产精品污污网站在线观看| 国产精品亚洲第一| 国产日产欧美一区二区视频| 韩国av一区二区三区四区| 欧美不卡一区二区三区四区| 日韩av在线播放中文字幕| 欧美巨大另类极品videosbest | 91超碰这里只有精品国产| 亚洲第一久久影院| 欧美日韩一区在线| 亚洲一区二区在线观看视频 | 成人中文字幕合集| 国产女同互慰高潮91漫画| 国产成人午夜精品5599| 亚洲国产精品精华液ab| aaa亚洲精品| 亚洲四区在线观看| 色老汉av一区二区三区| 亚洲高清免费在线| 欧美伦理视频网站| 日本午夜一区二区| 久久亚洲一区二区三区四区| 国产精品99久久久| 亚洲欧洲在线观看av| 91久久人澡人人添人人爽欧美| 亚洲视频免费看| 欧美日韩国产综合一区二区三区| 亚洲综合图片区| 日韩一二三区视频| 国产很黄免费观看久久| 国产精品国产三级国产有无不卡| 色欲综合视频天天天| 天天操天天综合网| 久久综合国产精品| 91在线视频观看| 天天综合色天天综合色h| 2023国产精品自拍| 色av综合在线|