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

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

?? maintest2.c.bak

?? 處理機調度
?? BAK
字號:
//main test for process invoke stimulate program.
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include "Ulti.h"
#include "PCB.h"
#include "EQueue.h"

#define DEBUG 1

char *inFileName="inputData.txt";
char *outFileName="outputData.txt";


int main(int argc,char* argv[])
{
	/*--------Open file--------*/
	FILE* inputFile;
	FILE* outputFile;
	int bDelay;

	/*=--------creation part-------*/
	char mode;
	int numOfThread; 
	PCBList pcbList,p;
	ptrPCBNode tmpNode;
	/*--------main process-------*/
	pQueue readyQueue,endQueue;
	ptrProcess runProcess,tmpProcess;

	int count;

	
	if((inputFile=fopen(inFileName,"rb"))==NULL)
	{	
		printf("open inputFile error\n");
		return -1;
	}
	
	if((outputFile=fopen(outFileName,"wb"))==NULL)
	{
		printf("open outputFile error\n");
		return -1;
	}
			
		printf("oepn files success \n");
	
	/*Create the PCB Table*/

	
	/*create a pcbList with a null head.*/	
	pcbList=(ptrPCBNode)malloc(sizeof(struct PCBNode));
	p=pcbList;

	fscanf(inputFile,"mode=%c\r\n",&mode);
	fscanf(inputFile,"numOfThread=%d\r\n",&numOfThread);
	fscanf(inputFile,"delay=%d\r\n",&bDelay);

	printf("------------program init starts------------\n");
	fprintf(outputFile,"------------program init starts------------\r\n");
	if(mode=='0')/*Read process definition from the file*/
		{
 					/*Creation with input list*/
					int i;
					for(i=0;i<numOfThread;i++)
					{
							tmpNode=(ptrPCBNode)malloc(sizeof(struct PCBNode));
							fscanf(inputFile,"%d,%d,%s\r\n",&tmpNode->priorityNum,&tmpNode->remainSecs,tmpNode->processName);	
							tmpNode->processName[strlen(tmpNode->processName)]='\0';
							tmpNode->processID=i;
							tmpNode->staturs=STA_READY;
							
							if(tmpNode->remainSecs>0)
							{
									p->next=tmpNode;
									p=p->next;
			
			printf("ProcessID:%d,Name:%s,Priority:%d,RemainSecs:%d Staturs: Ready\n",tmpNode->processID,tmpNode->processName,tmpNode->priorityNum,tmpNode->remainSecs);
			fprintf(outputFile,"ProcessID:%d,Name:%s,Priority:%d,RemainSecs:%d Staturs: Ready\r\n",tmpNode->processID,tmpNode->processName,tmpNode->priorityNum,tmpNode->remainSecs);

							}	
					}
					p->next=NULL;//Correction: add this to has effects in sort algorithm
			
		}
	else if(mode=='1')
		{
					int i;
					srand((unsigned int)time (NULL));
					
					for(i=0;i<numOfThread;i++)
					{
							tmpNode=(ptrPCBNode)malloc(sizeof(struct PCBNode));
								
							tmpNode->priorityNum=(int)eRandom(10);
							
							tmpNode->remainSecs=(int)eRandom(10);
							
							tmpNode->processID=i;
							
							strcpy(tmpNode->processName,"Process");
							tmpNode->processName[7]=48+i;
							tmpNode->processName[8]='\0';
							
							tmpNode->staturs=STA_READY;
							
							if(tmpNode->remainSecs>0)
							{
									p->next=tmpNode;
									p=p->next;

			printf("ProcessID:%d,Name:%s,Priority:%d,RemainSecs:%d Staturs: Ready\n",tmpNode->processID,tmpNode->processName,tmpNode->priorityNum,tmpNode->remainSecs);
			fprintf(outputFile,"ProcessID:%d,Name:%s,Priority:%d,RemainSecs:%d Staturs: Ready\r\n",tmpNode->processID,tmpNode->processName,tmpNode->priorityNum,tmpNode->remainSecs);
							}	
					}
					p->next=NULL;//Correction: add this to has effects in sort algorithm
		}	
	else
		{
			printf("mode is illegal!\n");
			return -1;
		}
	printf("------------program init ends------------\n");
	fprintf(outputFile,"------------program init ends------------\r\n");
	/*Sort the pcb table*/		
	sortPCB(pcbList);							//8:56 test ok
	if(DEBUG)printf("sortPCB successfully\n");	
	
	/*init queue*/
	endQueue=createNullQueueWithHead();
	readyQueue=createNullQueueWithHead();
		
	tmpNode=pcbList;
	tmpNode=tmpNode->next;
	
	while(tmpNode!=NULL)						//9:38 test ok
	{
		tmpProcess=(ptrProcess)malloc(sizeof(struct Process));
		tmpProcess->processID=tmpNode->processID;
		tmpProcess->staturs=tmpNode->staturs;
		tmpProcess->priorityNum=tmpNode->priorityNum;
		tmpProcess->remainSecs=tmpNode->remainSecs;
		strcpy(tmpProcess->processName,tmpNode->processName);
		enQueue(readyQueue,tmpProcess);
		tmpNode=tmpNode->next;
	}
	
	if(DEBUG)printf("create readyQueue successfully\n");
	runProcess=NULL;
	/*The core of process management*/
	printf("------------start of main simulation program------------\n");
	fprintf(outputFile,"------------start of main simulation program------------\r\n");
	count=0;
	while(!isEmpty(readyQueue)||runProcess!=NULL)
	{
		if(bDelay)
			eDelay(1000);/*DELAY 1 SECS*/
		
		if(runProcess!=NULL)
			{
			count++;
	printf("Line:%d ProcessID:%d,Name:%s,Priority:%d,RemainSecs:%d Staturs: Running\n",count,runProcess->processID,runProcess->processName,runProcess->priorityNum,runProcess->remainSecs);
	fprintf(outputFile,"Line:%d ProcessID:%d,Name:%s,Priority:%d,RemainSecs:%d Staturs: Running\r\n",count,runProcess->processID,runProcess->processName,runProcess->priorityNum,runProcess->remainSecs);
					runProcess->priorityNum++;
					runProcess->remainSecs--;
					
					if(runProcess->remainSecs==0)/*if time use out,end the process*/
						{
							runProcess->staturs=STA_END;
							enQueue(endQueue,runProcess);
							updatePCBList(pcbList,runProcess);
							count++;
	printf("Line:%d ProcessID:%d,Name:%s,Priority:%d,RemainSecs:%d Staturs: Ends\n",count,runProcess->processID,runProcess->processName,runProcess->priorityNum,runProcess->remainSecs);
	fprintf(outputFile,"Line:%d ProcessID:%d,Name:%s,Priority:%d,RemainSecs:%d Staturs: Ends\r\n",count,runProcess->processID,runProcess->processName,runProcess->priorityNum,runProcess->remainSecs);
						}
					else if(!isEmpty(readyQueue))
						{
							runProcess->staturs=STA_READY;
							insert(readyQueue,runProcess);
							updatePCBList(pcbList,runProcess);	
						}
			}
		
		/*apply new mem for the new node*/
		//Correction:runProcess!=NULL should be placed at front
		if(runProcess!=NULL&&runProcess->remainSecs==0)//for the last thread consult.&& runProcess!=firstNode(NULL)
			runProcess=NULL;
		
		if(!isEmpty(readyQueue))
		{
			runProcess=(ptrProcess)malloc(sizeof(struct Process));	
			/*wake up a new thread*/	
			runProcess=deQueue(readyQueue);
			runProcess->staturs=STA_RUN;
			updatePCBList(pcbList,runProcess);
		}
	}//10:03 test ok
	printf("------------end of main simulation program------------\n");
	fprintf(outputFile,"------------end of main simulation program------------\r\n");

	fclose(inputFile);
	fclose(outputFile);

	printf("program ends successfully\n");
	getchar();
	return 0;
}





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.爱久久.com| 风间由美一区二区av101| 国产精品动漫网站| 国产欧美日韩视频一区二区| 日韩免费福利电影在线观看| 56国语精品自产拍在线观看| 在线播放欧美女士性生活| 欧美三级在线视频| 91精品国产色综合久久ai换脸| 欧美日韩欧美一区二区| 91麻豆精品国产91久久久| 日韩一区二区在线看片| 久久免费国产精品| 国产精品久久久久桃色tv| 亚洲人xxxx| 亚洲一区在线播放| 麻豆国产精品视频| 国产精品一区二区三区乱码| a美女胸又www黄视频久久| 在线欧美一区二区| 欧美成人一区二区三区片免费 | 欧美午夜一区二区三区免费大片| 色婷婷综合视频在线观看| 欧洲精品在线观看| 91精品综合久久久久久| 久久嫩草精品久久久精品一| 日韩理论片网站| 日韩电影在线一区二区| 国产一区欧美二区| 一本久道中文字幕精品亚洲嫩| 欧美色窝79yyyycom| 亚洲精品在线三区| 亚洲视频图片小说| 老司机精品视频在线| 99这里只有久久精品视频| 5566中文字幕一区二区电影 | 成人欧美一区二区三区| 日日夜夜免费精品| 99久久国产综合色|国产精品| 欧美日韩视频一区二区| 欧美激情一区二区三区在线| 午夜精品福利一区二区蜜股av| 天天综合网 天天综合色| 国产v日产∨综合v精品视频| 欧美日韩三级一区| 国产精品你懂的在线欣赏| 婷婷开心久久网| 不卡一区二区三区四区| 日韩欧美高清dvd碟片| 一区二区三区四区五区视频在线观看| 另类小说一区二区三区| 欧美三级在线播放| 亚洲色图色小说| 丁香桃色午夜亚洲一区二区三区| 7777精品伊人久久久大香线蕉| 成人欧美一区二区三区黑人麻豆| 精品一区二区在线观看| 91精品国产综合久久福利软件 | 欧洲av在线精品| 国产精品久久久久久户外露出| 国内不卡的二区三区中文字幕| 91精品一区二区三区久久久久久| 亚洲午夜国产一区99re久久| 99久久精品国产一区二区三区 | 日本成人在线不卡视频| 91黄视频在线观看| 最新热久久免费视频| 不卡av在线网| 久久久精品免费观看| 捆绑调教美女网站视频一区| 日韩一区二区三区视频在线| 免费亚洲电影在线| 欧美tk—视频vk| 日产国产欧美视频一区精品| 这里是久久伊人| 三级欧美在线一区| 欧美一区二区视频网站| 青青青伊人色综合久久| 日韩免费高清视频| 国产一区二区三区视频在线播放| 欧美成人福利视频| 国产一区二区三区不卡在线观看| 久久麻豆一区二区| 99re这里只有精品视频首页| 亚洲男人的天堂在线观看| 在线这里只有精品| 亚洲一级在线观看| 911精品国产一区二区在线| 天堂一区二区在线免费观看| 欧美一级二级三级蜜桃| 国产麻豆一精品一av一免费| 国产精品美女一区二区在线观看| 99精品久久只有精品| 亚洲激情自拍视频| 6080午夜不卡| 国产aⅴ综合色| 伊人色综合久久天天人手人婷| 欧美怡红院视频| 激情欧美日韩一区二区| 国产人成一区二区三区影院| 日本道在线观看一区二区| 三级欧美韩日大片在线看| 久久伊人中文字幕| 99国产麻豆精品| 免费成人在线网站| 亚洲欧洲成人精品av97| 欧美妇女性影城| 国产成人精品影院| 日韩二区三区四区| 一区免费观看视频| 日韩亚洲欧美在线| 99久久精品国产导航| 日本成人在线看| 亚洲免费视频中文字幕| 日韩欧美国产综合| 国产主播一区二区| 亚洲夂夂婷婷色拍ww47| 久久综合久久99| 日本韩国欧美在线| 国产麻豆视频一区二区| 亚洲成a人v欧美综合天堂| 国产亚洲精品aa午夜观看| 欧美日韩一区二区电影| 成人黄色小视频在线观看| 日日夜夜免费精品视频| 亚洲欧美aⅴ...| 国产色91在线| 欧美一二三区精品| 欧美在线三级电影| 99精品久久免费看蜜臀剧情介绍| 久久91精品国产91久久小草| 亚洲.国产.中文慕字在线| 成人欧美一区二区三区| 中文一区二区在线观看| 久久香蕉国产线看观看99| 欧美日韩国产成人在线91| 91在线视频播放| 国产成人精品免费网站| 中文字幕av资源一区| 精品国产91乱码一区二区三区| 欧美羞羞免费网站| 在线观看不卡一区| 91黄色激情网站| 91在线porny国产在线看| 成人app网站| 成人美女视频在线看| 国产大陆a不卡| 国产成人av影院| 国产精品99精品久久免费| 国内精品视频666| 国产酒店精品激情| 国产剧情在线观看一区二区| 国产精品资源站在线| 粉嫩高潮美女一区二区三区| 国产成人免费av在线| 国产精品一品二品| 成人av资源站| 91浏览器在线视频| 91美女蜜桃在线| 日本道精品一区二区三区| 欧美日韩精品系列| 欧美一区日韩一区| 欧美成人精品3d动漫h| 欧美精品一区二区久久婷婷 | 亚洲精品国久久99热| 亚洲视频一二三| 五月天激情小说综合| 日本亚洲欧美天堂免费| 久久草av在线| 成人黄色小视频| 欧美三电影在线| 日韩精品在线一区二区| 久久久三级国产网站| 亚洲日本一区二区| 亚洲大片免费看| 久久99精品视频| 99久久国产综合精品麻豆| 欧美系列一区二区| 久久久国际精品| 亚洲欧美色综合| 蜜桃一区二区三区四区| 国产成人在线观看| 欧美图区在线视频| 久久久久久久久久久久久女国产乱 | 欧美性猛交xxxxxxxx| 日韩欧美国产午夜精品| 自拍偷拍国产精品| 日韩成人精品在线| 成人免费视频caoporn| 在线观看www91| 国产嫩草影院久久久久| 亚洲成人中文在线| 成人av片在线观看| 欧美大片拔萝卜| 亚洲另类在线视频| 国产乱码精品一区二区三区忘忧草| 日本丰满少妇一区二区三区| 亚洲国产精品黑人久久久| 麻豆精品视频在线观看| 欧美无砖专区一中文字|