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

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

?? cpp1.cpp

?? 一個小的進程調度
?? CPP
字號:

#include <iostream.h>
#include <malloc.h>
#include "stdio.h"

#define null 0
#define running 1 /*用running 表示進程處于運行態*/
#define ready 2 /*用aready表示進程處于就緒態*/
#define blocking 3 /*用blocking表示進程處于等待態*/
//#define n 10 /*假定系統允許進程個數為10*/


struct pcb {
	        
		     int name;//進程的名字(程序的入口地址)
             int state;//進程狀態
			 int pr; //
			 struct pcb *next;
		   };
int m,n,k;//分別記錄就緒隊列,阻塞隊列的進程數,正在運行的進程的個數
struct pcb *ready_head,*r,*block_head,*b,*run_head,*run;


//----------------------------------------------------------
void enReadyqueue(struct pcb *p)//進入就緒隊列
{  
	if( ready_head==null){ 
	                      ready_head=p;
						  r=ready_head;
                          r->next=p->next;
                       }
	else  { r->next=p;
	         
			 r=p;
			 }
	  
  m++;
}

	
//----------------------------------------------------------

void create( )//創建進程,并把該進程壓進就緒隊列
{ struct pcb *p;
  p=(struct pcb *)malloc(sizeof(struct pcb));
  p->next=null;
  p->state=2;
  p->pr=1;
  cout<<"please enter the program's name"<<endl;
  cin>>p->name;
  enReadyqueue(p);
  cout<<"creat complete"<<endl;
}
//----------------------------------------------------------
void enBlockqueue( )//從運行隊列中取頭節點進入就阻塞隊列
{  struct pcb *p,*q;
    p=run_head;
	if(run_head==null)cout<<"run queue is empty,error"<<endl;
	else{ if( block_head==null){
	                   block_head=p;
					   b=block_head;
                       b->next=null;
					   cout<<"block finish"<<endl;
                       }
    	  else  {
			  b->next=p;
	          b=p;
			  b->next=null;
			
			 }
		  q=run_head;
		  run_head=run_head->next;
		  free(q);
	      k--;
	   
	}
	  
   n++;
}
//------------------------------------------------------------
void enRunqueue(struct pcb *p)//正在運行的進程進入運行隊列
{  if( run_head==null){
	                   run_head=p;
					   run=run_head;
                       run->next=p->next;
                       }
	else  
	{ run->next=p;
	         run=p;
			 
	}
	  
   k++;
}

//------------------------------------------------------------
void wakeup()//喚醒進程(把阻塞隊列的頭節點插入就緒隊列尾)
{ struct pcb *p,*q;
  
	if(block_head==null) cout<<"blocked queue is empty,error"<<endl;
   else { p=(struct pcb*)malloc(sizeof(struct pcb));
	      p->state=ready;
          p->pr=1;
          p->name=block_head->name;
	      p->next=null;
	      enReadyqueue(p);
		  q=block_head;
          block_head=block_head->next;
		  free(q);
		  n--;
		  cout<<"wake up one program"<<endl;
        }
   
}
//------------------------------------------------------------
void show()//顯示當前正在運行的進程
{ struct pcb *p;
    p=run_head;
	if(p==null) cout<<"run queue is empty,error"<<endl;
	else cout<<"the number of running program is:   "<<k<<endl;
    while(p)
	{   cout<<"the running program's name is:   "<<p->name<<endl;
	    cout<<"the running program's state is:   "<<p->state<<endl;
		
	 p=p->next;
	}
}
//------------------------------------------------------------
void Run()//從就緒隊列中去頭節點運行
{  struct pcb *p;
     
    p=(struct pcb*)malloc(sizeof(struct pcb));
	if(ready_head==null) cout<<"ready queue is empty,error"<<endl;
   else { p->state=running;
          p->pr=1;
          p->name=ready_head->name;
	      p->next=null;
	      enRunqueue(p);
          ready_head=ready_head->next;
		 m--;
		 cout<<"a program is pushed into run_queue"<<endl;
        }
}



//------------------------------------------------------------------
void delect(int e )//結束一個進程(從運行狀態隊列中刪掉一個進程)
{
	struct pcb *p,*q;
  int find;//用來判斷是否找到名字為e的進程
  find=0;
  q=p=run_head;
 if(run_head==null)cout<<"the running queue is empty,error"<<endl;
 else if(run_head->name==e)
        {  
	      run_head=run_head->next;
          free(q);
		  find=1;
        }
   else{ p=run_head->next;
        while(p)
		{  
           if(p->name==e) 
		   { 
		    find=1;
            q->next=p->next;
            free(p);
		    k--;
		   }
	      else 
		  {
		   q=p;
	       p=p->next;
		  }
		}
  }
   if(find) cout<<"delect finish"<<endl;
     else cout<<"error,can't find the program"<<endl;
}
//-----------------------------------------------------------------
void main()
{

b=block_head;
run=run_head;
int i; char j;

i=1;
   while(i)
   {      cout<<"--------------------------------------"<<endl;
	      cout<<"creat a program please enter c."<<endl;
	      cout<<"delect a program please enter d."<<endl;
	      cout<<"run a program please enter r."<<endl;
	      cout<<"block a program please enter b."<<endl;
	      cout<<"wake up a program please enter w."<<endl;
		  cout<<"watch the running programs please enter s."<<endl;
		  cout<<"--------------------------------------"<<endl;
          cin>>j;
     
	switch(j)
		{
		case 'c':
			create();
			break;
		case 's':
			show();
			break;
		case 'r':
			Run();
			break;
		case 'b':
		     enBlockqueue();
			break;
		case 'w':
			wakeup();
			break;
		case'd':
			int e;
			cout<<"enter the program's name that you want to delect"<<endl;
			cin>>e;
            delect(e);
		    break;
		default: 
			break;
		}
	cout<<"if you want continnue please enter 1"<<endl;
	cin>>i;
   }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人高清视频免费观看| 成人激情开心网| 偷拍一区二区三区四区| 自拍偷拍亚洲欧美日韩| 亚洲欧美一区二区三区极速播放 | 亚洲电影你懂得| 一区2区3区在线看| 日韩精品成人一区二区在线| 婷婷综合另类小说色区| 国内精品免费**视频| 懂色中文一区二区在线播放| 国产一区二区网址| av在线不卡网| 欧美亚洲丝袜传媒另类| 日韩亚洲欧美成人一区| 26uuu国产日韩综合| 精品久久久久久久人人人人传媒| 欧美精品自拍偷拍| 337p日本欧洲亚洲大胆色噜噜| 国产精品网站一区| 午夜精品久久久久影视| 成人毛片视频在线观看| 欧美婷婷六月丁香综合色| 欧美一卡2卡3卡4卡| 国产精品久久三| 日韩影视精彩在线| 国产成人精品aa毛片| 欧美天堂一区二区三区| 精品成a人在线观看| 天天影视色香欲综合网老头| 色中色一区二区| 亚洲国产精品成人综合色在线婷婷 | 精品欧美一区二区三区精品久久| 欧美极品另类videosde| 国产一区二区免费在线| 在线不卡免费欧美| 亚洲二区在线观看| 在线观看欧美日本| 亚洲精品久久久蜜桃| youjizz久久| 国产日产欧美一区二区视频| 国产精品亚洲人在线观看| 欧美不卡一区二区三区四区| 亚洲v中文字幕| 91影视在线播放| 亚洲欧洲精品天堂一级| eeuss影院一区二区三区| 欧美激情在线免费观看| 不卡电影一区二区三区| 日韩区在线观看| 婷婷激情综合网| 欧美v国产在线一区二区三区| 久久99国产精品久久| 国产日韩欧美不卡在线| 色婷婷久久综合| 亚洲一区二区三区四区五区黄| av在线不卡网| 欧美一二三在线| 国产精品一色哟哟哟| 亚洲最新在线观看| 欧美一区午夜视频在线观看| 国产自产2019最新不卡| 亚洲欧美区自拍先锋| 69堂成人精品免费视频| 国产99久久久国产精品潘金 | 成人h动漫精品一区二区| 亚洲成人激情综合网| 国产精品久久午夜| 日韩一二三四区| 欧美群妇大交群中文字幕| 风间由美一区二区三区在线观看 | 欧美日韩中文另类| 国产精品一级在线| 亚洲国产毛片aaaaa无费看| 中文一区二区在线观看| 91精品国产91久久久久久最新毛片| 不卡影院免费观看| 国产精品一区二区在线观看网站| 丝袜诱惑制服诱惑色一区在线观看| 久久久精品天堂| 久久婷婷成人综合色| 日韩欧美综合在线| 精品乱人伦小说| 精品久久久久一区二区国产| 91精品国产综合久久久久久漫画 | 亚洲美女在线一区| 亚洲精品视频在线观看网站| 美女免费视频一区二区| 亚洲男人的天堂一区二区| 亚洲一级电影视频| 国产乱理伦片在线观看夜一区| 日本道色综合久久| 久久亚洲一区二区三区明星换脸| 亚洲午夜免费电影| 国产98色在线|日韩| 日韩精品一区二| 日韩激情视频在线观看| 99久久夜色精品国产网站| 日韩三级在线观看| 午夜欧美在线一二页| 久久精品国产亚洲a| 婷婷久久综合九色综合伊人色| 欧美96一区二区免费视频| 国产成人免费xxxxxxxx| 色天天综合久久久久综合片| 欧美一区二区三区免费| 国产精品午夜春色av| 亚洲一区视频在线| 国产精品亚洲一区二区三区妖精| 成人免费高清在线观看| 56国语精品自产拍在线观看| 亚洲免费观看高清在线观看| 日本成人在线电影网| 国产成人av电影在线| 欧美精品第1页| 亚洲国产wwwccc36天堂| 国产精品99久久久久久宅男| 欧美丰满嫩嫩电影| 亚洲一区视频在线观看视频| 成人深夜视频在线观看| 精品久久人人做人人爽| 蜜臀av在线播放一区二区三区| 亚洲精品一区二区三区香蕉 | 成人av网站免费| 国产亚洲一区二区三区在线观看| 欧美aaaaa成人免费观看视频| 欧美日韩视频专区在线播放| 中文字幕人成不卡一区| 51精品秘密在线观看| 日韩二区三区四区| 激情五月婷婷综合| 成人免费视频一区二区| 99久久综合国产精品| 精品蜜桃在线看| 亚洲婷婷综合久久一本伊一区| 一区二区三区中文字幕精品精品 | 久久精品国产久精国产爱| 色婷婷av一区二区三区软件| 国产精品网站在线| 91蝌蚪porny| 亚洲电影第三页| 在线播放欧美女士性生活| 久久成人免费网站| 国产婷婷色一区二区三区| eeuss鲁片一区二区三区在线看| 国产日韩精品一区| 欧美伊人久久久久久久久影院 | 欧美一级艳片视频免费观看| 久久精品国产精品青草| 欧美国产精品专区| 欧美午夜精品一区二区三区| 久久精品国产99国产| 国产精品国产三级国产aⅴ入口| 在线观看日韩国产| 激情综合色丁香一区二区| 一区二区三区美女| 久久久久99精品一区| 91精品国模一区二区三区| 成人免费视频一区| 国产一区二区三区香蕉| 亚洲一区二区三区四区五区黄| 欧美精品一区二区不卡| 欧美精品在线观看一区二区| 成人不卡免费av| 激情综合网最新| 美女网站视频久久| 五月激情综合婷婷| 亚洲精品国产高清久久伦理二区| 久久久亚洲午夜电影| 色天使久久综合网天天| 99久久免费精品高清特色大片| 国内精品久久久久影院薰衣草| 天堂av在线一区| 亚洲国产中文字幕在线视频综合| 国产精品毛片a∨一区二区三区| 亚洲精品在线观看网站| 日韩无一区二区| 欧美成人精品二区三区99精品| 日韩欧美中文字幕制服| 欧美一区二区三区四区在线观看| 日韩视频免费观看高清在线视频| 欧美一区二区三区四区久久| 91麻豆精品国产91久久久久| 日韩欧美在线123| 久久女同精品一区二区| 欧美国产国产综合| 亚洲欧美日韩精品久久久久| 亚洲大片精品永久免费| 另类人妖一区二区av| 不卡一二三区首页| 欧美裸体一区二区三区| 精品99久久久久久| 国产精品乱码久久久久久| 1024成人网| 麻豆传媒一区二区三区| 成人午夜免费av| 欧美日韩一区二区在线视频| 欧美成人性战久久| 亚洲国产日韩在线一区模特| 精品一区二区三区视频在线观看|