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

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

?? pcb.cpp

?? 操作系統的進程控制塊
?? CPP
字號:
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"      //控制臺輸入輸出頭文件
#include "iostream.h"
#include "windows.h"   //包含Sleep()函數的頭文件!
#define SEC 3
#define NULL 0
typedef struct PCB
{
  int PID;
  int UID;
  struct PCB * next;
}PCB;
PCB *ready , *excute , *wait;

int enqueue(PCB *head , PCB *node)
{
   PCB *p;
   p = head;
   if(p -> next == NULL)
   {
	 head -> next = node;
	 return 1;
   }
   while(p)
   {
     if(p -> next == NULL)
	 {
    	p -> next = node;
    	return 1;
	 }
     else 
		 p = p -> next;
   }
}

/*dequeue 出隊列 */
PCB * dequeue(PCB *head)
{
  PCB *p;
  p = head;
  if(p -> next == NULL)
	{
	return NULL;
	}
  else
  {
	p = p -> next;
	head -> next = p -> next;
	p -> next = NULL;
	return p;
  }
}/*dequeue*/

/*新建進程,創建->就緒*/
int create()
{
	PCB *p;
	p = new PCB;
	p -> next = NULL;
	cout<<"input PID and UID to a new process"<<endl;
	cin>>p->PID>>p->UID; 
	if(enqueue(ready , p))
        cout<<"create a process:PID="<<p->PID<<"  UID="<<p->UID<<endl; 
	else
		cout<<"create failed"<<endl;
	return 1;
}/*create*/

/*就緒->執行*/
int fexcute()
{
   PCB *p = dequeue(ready);
   if(p == NULL)
   {
	   cout<<"NO process in queue "<<endl;
       return 0;
   }
   else
   {
    	enqueue(excute , p);
		cout<<"add a process into excute queue process: PID ="<<p->PID<<"  UID="<<p->UID<<endl;
    	return 1;
   }
}

/*執行->就緒:時間片完(延緩)*/
int suspend()
{
  PCB *p = dequeue(excute);
   if(p == NULL)
  {
	cout<<"NO process in queue"<<endl;
	return 0;
  }
   else
  {
	enqueue(ready , p);
	cout<<"add a process into ready queue process: PID ="<<p->PID<<"  UID="<<p->UID<<endl;
	return 1;
  }
}

/*阻塞->就緒*/
int wake()
{
  PCB *p = dequeue(wait);
   if(p == NULL)
  {
	cout<<"NO process in queue"<<endl;
	return 0;
  }
   else
  {
	enqueue(ready , p);
	cout<<"add a process into ready queue process: PID ="<<p->PID<<"  UID="<<p->UID<<endl;
	return 1;
  }
}
/*執行->阻塞*/
int block()
{
  PCB *p = dequeue(excute);
   if(p == NULL)
  {
	cout<<"NO process in queue"<<endl;
	return 0;
  }
   else
  {
	enqueue(wait , p);
	cout<<"add a process into wait queue process: PID ="<<p->PID<<"  UID="<<p->UID<<endl;
	return 1;
  }
}/*block*/

/*輸出隊列 outputqueue*/
int outputqueue(PCB *head)
{
   PCB *p;
   if(head -> next == NULL)
   {                               
       cout<<"queue is null"<<endl;
       return 1;
   }                  /*隊列為空*/
   p = head -> next; 
   while(p)
	{
       cout<<"            "<<"PID = "<<p->PID<<"  UID = "<<p->UID<<endl;
       p = p -> next;
   }                  /*打印process id UID*/
   return 0;
}

/*output輸出*/
void output()
{
  cout<<"READY QUEUE:";
  outputqueue(ready);
  cout<<endl;
  cout<<"EXCUTE QUEUE:";
  outputqueue(excute);
  cout<<endl;
  cout<<"WAIT QUEUE: ";
  outputqueue(wait);
  cout<<endl;
}

/*init 初始化*/
int init()
{
  PCB *p;
  system("CLS");  //用于清屏的C庫函數  
  ready=new PCB;
  ready -> next=NULL;
  excute=new PCB;
  excute -> next=NULL;
  wait=new PCB;
  wait -> next = NULL;
  cout<<"--------------PROCESS MENU---------------"<<endl;
  cout<<"now initing....................."<<endl;
  cout<<"input PID and UID as integer , 0 0 as over"<<endl;
  while(1)
  {
    p=new PCB;
	p -> next = NULL;
	cin>>p->PID>>p->UID;
	if(p -> PID == 0 && p -> UID == 0)
		break;
	else
	  {
		if(enqueue(ready , p))
		  {
	       	 cout<<"new process PID = "<<p->PID<<" UID = "<<p->UID<<" added!"<<endl;
		  }
		else 
			return 0;
		}
  }
  return 1;
} /*init*/

/*運行一個process*/
int run()
{
  PCB *p = excute;
  int s = SEC;
  if(excute -> next == NULL)
  {
   cout<<"no process in excute queue "<<endl;
   return 0;
  }
  else
  {
	p = excute -> next;
	cout<<"system will sleep "<<s<<"s as process running"<<endl;
	Sleep(3);
	cout<<"process: PID = "<<p->PID<<"  UID = "<<p->UID<<" excute successed.."<<endl;
	excute -> next = p -> next;
	free(p);
	return 1;
  }
}
int leave()
{
  PCB *p,*t;
  while(ready->next || excute->next || wait->next)
  {
	p = ready -> next;
	while(p)
	{
	  t = p -> next;
	  free(p);
	  p = t;
	}
	ready -> next = NULL;
	p = wait -> next;
	while(p)
	{
	  t = p -> next;
	  free(p);
	  p = t;
	}
	wait -> next = NULL;
	p = excute -> next;
	while(p)
	{
	  t = p -> next;
	  free(p);
	  p = t;
	}
	excute -> next = NULL;
  }
  exit(0);
}/*leace*/

void help()
{
  cout<<"_____________________HELP MENU_____________________"<<endl;
  cout<<"\t-h HELP show help option"<<endl;
  cout<<"\t-c CREATE create a new process , and put to ready queue"<<endl;
  cout<<"\t-b BLOCK block a process in excute queue"<<endl;
  cout<<"\t-w WAKE wake a process in wait queue"<<endl;
  cout<<"\t-e EXCUTE excute a process in ready queue"<<endl;
  cout<<"\t-s SUSPEND suspend a process in excute queue"<<endl;
  cout<<"\t-o OUTPUT output all processes in queues"<<endl;
  cout<<"\t-r RUN excute a process in excute queue"<<endl;
  cout<<"\t-x EXIT exit this program"<<endl;
  cout<<"___________________________________________________"<<endl;
  cout<<"\t type 'H' will show this menu"<<endl;
}/*help*/

int main()
{
  char COMMAND = NULL;
  if( init() != 1)
	{
	  cout<<"init falied ! "<<endl;
	  getch();
	  exit(0);
	}
  else
	{
	  cout<<"init...OK"<<endl;
	  output();
	  help();
	}
  while(1)
  {
	/*當三隊列都不空 執行調度 */
	cout<<">";
	cin>>COMMAND;
	switch(COMMAND)
	{
	  case '\n': break;
	  case 'H':
	  case 'h': help(); break;
	  case 'C':
	  case 'c': create(); break;
	  case 'B':
	  case 'b': block(); break;
	  case 'W':
	  case 'w': wake(); break;
	  case 'S':
	  case 's': suspend(); break;
	  case 'E':
	  case 'e': fexcute(); break;
	  case 'O':
	  case 'o': output(); break;
	  case 'X':
	  case 'x': leave(); break;
	  case 'R':
	  case 'r': run(); break;
	}
 }
  return 1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费精品99久久国产综合精品| 日韩欧美专区在线| 亚洲国产日韩综合久久精品| 91丝袜高跟美女视频| 亚洲香蕉伊在人在线观| 欧美酷刑日本凌虐凌虐| 成人a区在线观看| 国产精品三级在线观看| 欧美一区二区三区不卡| 成人性视频网站| 日本伊人色综合网| 精品国产亚洲一区二区三区在线观看| 色又黄又爽网站www久久| 日韩在线观看一区二区| 中文字幕一区视频| 欧美xxxxxxxxx| 51久久夜色精品国产麻豆| 成人一道本在线| 国产麻豆精品久久一二三| 亚洲一区二区黄色| 亚洲欧洲av一区二区三区久久| 日韩欧美专区在线| 制服丝袜激情欧洲亚洲| 99久久99久久久精品齐齐| 国产馆精品极品| 国产一区二区主播在线| 另类小说图片综合网| 丝袜美腿亚洲一区二区图片| 日本一二三四高清不卡| 国产欧美视频一区二区三区| 精品国产电影一区二区| 精品日韩在线观看| 欧美日韩三级一区二区| 欧美三级日韩三级国产三级| 日本久久一区二区三区| 91麻豆swag| 欧美亚洲一区二区在线| 久久不见久久见免费视频1| 视频一区中文字幕国产| 一区二区欧美精品| 亚洲第一搞黄网站| 久久精品国产第一区二区三区| 久久不见久久见免费视频1| 中文字幕中文字幕在线一区| 亚洲三级免费观看| 一区二区三区精品视频| 日韩 欧美一区二区三区| 麻豆免费精品视频| 国产麻豆成人传媒免费观看| 国产成人精品免费在线| 97aⅴ精品视频一二三区| 在线视频亚洲一区| 欧美成人精品福利| 国产精品理论片| 国产精品视频麻豆| 一级特黄大欧美久久久| 午夜视频一区二区| 蜜臀av一区二区在线观看| 国产另类ts人妖一区二区| 国产成人免费视频精品含羞草妖精| 99久久综合狠狠综合久久| 成人av网站在线| 香蕉加勒比综合久久| 亚洲永久免费视频| 日本不卡视频一二三区| 国产一区二区在线看| 99精品久久久久久| 日韩黄色一级片| 国产伦精品一区二区三区在线观看| 99精品国产一区二区三区不卡 | 国产精品每日更新| 亚洲一区二区av在线| 国产一区二区不卡| 国产不卡高清在线观看视频| 欧美日韩综合不卡| 国产欧美精品一区二区色综合 | 欧美国产丝袜视频| 亚洲欧美韩国综合色| 日韩伦理av电影| 麻豆91在线观看| 日本高清不卡一区| 欧美草草影院在线视频| 亚洲一区二区三区激情| 高清国产午夜精品久久久久久| 91国偷自产一区二区三区成为亚洲经典 | 久久久91精品国产一区二区精品| 一区二区成人在线| 色美美综合视频| 亚洲手机成人高清视频| 99久久久国产精品免费蜜臀| 亚洲精品一区二区三区影院| 青青草国产成人av片免费| 精品国产一区二区三区久久影院| 一区二区三区四区在线| 欧美日韩精品欧美日韩精品一 | 欧美精品久久99久久在免费线 | 久久精品一二三| 国产一区二区视频在线播放| 国产亚洲自拍一区| 国产福利91精品| 欧美日韩你懂得| 狠狠色2019综合网| 国产亚洲欧美一级| av在线综合网| 亚洲乱码中文字幕综合| 91精品国产aⅴ一区二区| 免费成人美女在线观看.| 久久久久久免费网| 国产成人综合自拍| 亚洲一区二区免费视频| 3d成人h动漫网站入口| 国产一区二区伦理片| 日本一二三不卡| 777亚洲妇女| 国产成人在线色| 亚洲综合网站在线观看| 欧美日韩国产精选| 日本成人超碰在线观看| 国产精品情趣视频| 日本电影欧美片| 成人黄色在线视频| 一区二区在线观看视频在线观看| 日韩三级中文字幕| 国产福利一区二区三区| 日韩中文字幕不卡| 久久久久久99久久久精品网站| 色婷婷精品久久二区二区蜜臀av| 免费在线欧美视频| 亚洲丝袜美腿综合| 7878成人国产在线观看| 色综合中文综合网| 8x福利精品第一导航| 国产不卡高清在线观看视频| 怡红院av一区二区三区| 国产欧美日韩视频在线观看| 99在线精品视频| 东方欧美亚洲色图在线| 亚洲成人综合视频| 亚洲欧洲精品一区二区精品久久久| 精品视频在线视频| 色www精品视频在线观看| 狠狠网亚洲精品| 一区二区三区不卡视频在线观看 | 亚洲成国产人片在线观看| 日本一区二区久久| 777久久久精品| 欧美一区三区四区| 日本精品一区二区三区高清 | 国产视频一区在线播放| 91精品国产手机| 色婷婷久久一区二区三区麻豆| 99热国产精品| 成人午夜精品在线| av在线播放不卡| 黄一区二区三区| 精品一区二区三区在线播放| 亚洲一区二区三区四区在线免费观看 | 国产精品短视频| 国产精品久久久久毛片软件| 2021国产精品久久精品| 日韩久久精品一区| 欧美日本在线观看| 56国语精品自产拍在线观看| 欧美日韩在线三区| 日韩亚洲欧美一区二区三区| 91福利视频网站| 欧美精品一卡二卡| 欧美四级电影在线观看| 777色狠狠一区二区三区| 欧美日韩精品综合在线| 欧美成人免费网站| 久久久三级国产网站| 国产精品乱人伦| 国产女主播一区| 亚洲一区二区三区中文字幕在线| 一区二区三区在线免费观看| 亚洲风情在线资源站| 亚洲大尺度视频在线观看| 久久精品国产亚洲高清剧情介绍 | 亚洲福利电影网| 亚洲第一久久影院| 韩国v欧美v日本v亚洲v| 国产传媒欧美日韩成人| 欧美亚洲丝袜传媒另类| 欧美日韩免费观看一区二区三区 | 亚洲欧美中日韩| 亚洲欧美激情小说另类| 蜜桃91丨九色丨蝌蚪91桃色| 麻豆91精品视频| 91在线视频官网| 欧美午夜精品一区二区三区| 精品裸体舞一区二区三区| 国产蜜臀av在线一区二区三区| 亚洲综合一区二区| 裸体歌舞表演一区二区| 欧美在线一区二区| 4438x成人网最大色成网站| 日韩码欧中文字| 人人狠狠综合久久亚洲| 色婷婷亚洲精品|