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

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

?? process.cpp

?? 進(jìn)程調(diào)度 的源代碼 及執(zhí)行文件 有利用學(xué)習(xí)用
?? CPP
字號:
//
//程序名稱:進(jìn)程調(diào)度模擬程序
//程序作者:張煥人
//作者郵箱: renwairen369@yahoo.com.cn
//          renwairen369@hotmail.com
//作者QQ:27949278
//
//
//


#include <iostream.h>
#include <stdio.h>
typedef struct pcb 
{ 
 char name[10];  //進(jìn)程名
 char state;   //狀態(tài)w(就緒)r(運(yùn)行)f(結(jié)束)
 int super;   //優(yōu)先級
 int atime;   //到達(dá)時(shí)間
 int ntime;   //需運(yùn)行的時(shí)間
 int rtime;   //已運(yùn)行的時(shí)間
 struct pcb *next;
}*pcb1; 

int time=0;
int alg=1;
pcb1 s,w;//s,w分別是就緒隊(duì)列、阻塞隊(duì)列的節(jié)點(diǎn)


void print(pcb1 p)
//輸出就緒隊(duì)列信息
{
 pcb1 p0; //c語言當(dāng)中指針傳遞直接傳地址!!!
 if(p==NULL) cout<<"  當(dāng)前隊(duì)列為空"<<endl;
 else
 {
       p0=p;
	   cout<<"  "<< p0->name;
	   p0=p0->next;
       while(p0!=NULL)
	   {
	       cout<<" -> ";
		   cout<<p0->name;
		   p0=p0->next;
	   }
       cout<<endl;
 }
 
}

void printpcb()
//輸出pcb信息
{
 pcb1 p0;
 if(s==NULL&&w==NULL) cout<<"  當(dāng)前沒有進(jìn)程處于調(diào)度中"<<endl;
 else
 {
       cout<<"當(dāng)前處于調(diào)度中進(jìn)程的PCB信息:"<<endl;
       cout<<"\t進(jìn)程名 "<<"\t優(yōu)先級 "<<"\t狀態(tài)"<<"\t到達(dá)時(shí)間 "<<"\t已運(yùn)行時(shí)間 "<<"\t需運(yùn)行時(shí)間"<<endl;
       p0=s;
	   while(p0!=NULL)
	   {
	       cout<<"\t"<<p0->name<<"\t "<<p0->super<<"\t "<<p0->state<<"\t "<<p0->atime<<"\t\t "<<p0->rtime<<"\t\t "<<p0->ntime<<endl;
	       p0=p0->next;
	   }
	   p0=w;
	   while(w!=NULL)
	   {
	       cout<<"\t"<<p0->name<<"\t "<<p0->super<<"\t "<<p0->state<<"\t "<<p0->atime<<"\t\t "<<p0->rtime<<"\t\t "<<p0->ntime<<endl;
	       p0=p0->next;
	   }
 }
 
 
}

//check the queue if empty
bool empty(pcb1 r)
//隊(duì)列為空返回true,否則返回false
{
 if(r==NULL)
  return true;
 else
  return false;
}


void sort0(pcb1 &r,pcb1 p)
{  
	pcb1 p0=r;
    bool in=false;
    if(r==NULL)//隊(duì)列為空
	{
       r=p;
	}
	else 
	{
		while(p0->next!=NULL)  p0=p0->next;
		p0->next=p;
	}
}

void sort(pcb1 &r,pcb1 p)
//根據(jù)優(yōu)先級將進(jìn)程排序,插入到就緒隊(duì)列或阻塞隊(duì)列當(dāng)中
{
 pcb1 p1,p2;
 bool in=false;
 if(r==NULL)//隊(duì)列為空
 {
  r=p;
 }
 else  
 {
  if(p->super>=r->super)//待插入的進(jìn)程優(yōu)先級比隊(duì)列第一個(gè)進(jìn)程優(yōu)先級要高
  {         
   p->next=r;
   r=p;
  }
  else
  {
   p1=r;
   p2=r->next;
   if(p2==NULL)//only one process in the queue
   {
    r->next=p;
   }
   else
   {
    while(in==false&&p2!=NULL)//insert to the middle of the queue
    {
     if(p->super>=p2->super)
     {
      p->next=p2;
      p1->next=p;
      in=true;
     }
     else
     {
      p1=p1->next;
      p2=p2->next;
     }
    }
   }
   
   if(!in)//如果進(jìn)程沒有插入到隊(duì)列之中(優(yōu)先級最小)將進(jìn)程插入到就緒隊(duì)列最后
    p1->next=p;
  }
 }
}


void block()
//將進(jìn)程阻塞并插入到阻塞隊(duì)列當(dāng)中block one process and insert to block queue
{
 if(!empty(s))  //就緒隊(duì)列不空  
 {
  if(s->next==NULL)
  {
   if(alg) sort(w,s);
   else   sort0(w,s);
   s=s->next;
  }
  else
  {
   pcb1 p1;
   p1=s;  
   s=s->next;
   p1->next=NULL;
   if(alg) sort(w,p1);
   else   sort0(w,p1);
   
  }
 }
 else
 {
  cout<<endl<<endl;
  cout<<"  現(xiàn)在就緒隊(duì)列已經(jīng)為空,再?zèng)]有進(jìn)程需要阻塞"<<endl;
 }
}


void wake()
//喚醒阻塞隊(duì)列當(dāng)中的一個(gè)進(jìn)程并插入到就緒隊(duì)列當(dāng)中
{
 if(!empty(w))  //就緒隊(duì)列不空
 {
  pcb1 p1;
  p1=w;  
  w=w->next;
  p1->next=NULL;
  if(alg) sort(s,p1);
   else   sort0(s,p1);
   
 }
 else 
 {
  cout<<endl<<endl;
  cout<<"  阻塞隊(duì)列已經(jīng)為空,沒有進(jìn)程再需要喚醒"<<endl;
 }
}


bool finished()
//檢查就緒隊(duì)列的第一個(gè)進(jìn)程是否完成
{
 pcb1 p;
 p=s;
 if(p->rtime==p->ntime)
 {
  p->state='F';//進(jìn)程運(yùn)行結(jié)束
  cout<<endl<<"  進(jìn)程"<<p->name<<" 已經(jīng)結(jié)束"<<endl<<endl;
  return true;
 }
 else
  return false;
}

void run()
{
  time++;
  if(!empty(s)) //就緒隊(duì)列不空
 {
  pcb1 p;
  p=s;
  if(!finished()) //就緒隊(duì)列隊(duì)首進(jìn)程是否運(yùn)行結(jié)束
  {//沒有運(yùn)行結(jié)束
   s=s->next;
   p->rtime++;
   p->super--; 
   p->next=NULL;
   if(alg) sort(s,p);
   else   sort0(s,p);
   
  }
  else
  {//已經(jīng)運(yùn)行結(jié)束
   s=s->next;
   delete p;
  }
 }
 else  //就緒隊(duì)列為空
 {
    cout<<endl<<"  就緒隊(duì)列已經(jīng)為空"<<endl<<endl;
 }
 cout<<"就緒隊(duì)列的信息:"<<endl;
 print(s);
 printpcb();
 printf("%s","按任意鍵繼續(xù)...");
 getchar();
 
}


void creat()
//創(chuàng)建進(jìn)程
{
  pcb1 p;
  p=new pcb;
  cout<<"請輸入進(jìn)程的相應(yīng)信息"<<endl;
  cout<<"  進(jìn)程名: ";
  cin>>p->name;
  cout<<"  進(jìn)程優(yōu)先級: ";
  cin>>p->super;
//  cout<<"程序到達(dá)時(shí)間時(shí)間: ";
//  cin>>p->atime;
  p->atime=time;
  cout<<"  需要運(yùn)行時(shí)間: ";
  cin>>p->ntime;
 
  p->atime=time;
  p->rtime=0;
  p->state='W'; //就緒狀態(tài)
  p->next=NULL;
  if(alg) sort(s,p);//按優(yōu)先級將進(jìn)程p插入到就緒隊(duì)列當(dāng)中
   else   sort0(s,p); 
}

void menu()
{
	 cout<<endl<<"                               進(jìn)程調(diào)度程序"<<endl<<endl;
     cout<<"               1.  創(chuàng)建進(jìn)程                  2.  運(yùn)行進(jìn)程      "<<endl;    
	 cout<<"               3.  阻塞進(jìn)程                  4.  喚醒進(jìn)程      "<<endl;
     cout<<"               5. 查看就緒隊(duì)列               6. 查看阻塞隊(duì)列   " <<endl;
	 cout<<"               7. 查看進(jìn)程 PCB               8.  退出程序      "<<endl<<endl;
}

//main function
void main()
{
 char ch;
 s=NULL;
 w=NULL;
 cout<<"請選擇用于調(diào)度的算法 0.先來先服務(wù) 1.優(yōu)先權(quán)算法:  ";
 cin>>alg;
 menu();
 cout<<"請選擇相應(yīng)功能: ";
 cin>>ch;
 while(ch!='8')
 {
  
  switch(ch)
  {
   case '1': creat();   break;
   case '2': run();     break;
   case '5': cout<<"就緒隊(duì)列進(jìn)程信息:"<<endl;
	         print(s);  
			 printf("%s","按任意鍵繼續(xù)...");
             getchar();
			 break;
   case '6': cout<<"阻塞隊(duì)列進(jìn)程信息:"<<endl;
	         print(w);  
			 printf("%s","按任意鍵繼續(xù)...");
             getchar();
			 break;
   case '7': printpcb();
	         printf("%s","按任意鍵繼續(xù)...");
             getchar();
	         break; 
   case '4': wake();    break;
   case '3': block();   break;
  }
  menu();
  cout<<"請選擇相應(yīng)功能: ";
  cin>>ch;
 }
}
















?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝瓜av网站精品一区二区| 午夜久久久影院| 欧美日韩三级视频| 国产一区二区剧情av在线| 一区二区三区精品在线观看| 久久久综合激的五月天| 欧美日韩激情在线| 成人小视频免费在线观看| 日本sm残虐另类| 亚洲黄色免费网站| 国产精品视频第一区| 日韩精品中文字幕在线不卡尤物| 色激情天天射综合网| 岛国av在线一区| 精品在线视频一区| 图片区日韩欧美亚洲| 亚洲欧美经典视频| 欧美激情在线一区二区三区| 欧美大黄免费观看| 欧美日韩国产综合久久| 99久久99久久精品免费观看| 国产精品自拍网站| 老司机一区二区| 亚洲成人av电影在线| 亚洲三级免费观看| 国产精品毛片高清在线完整版| 精品国产乱码久久久久久老虎 | 国产女人水真多18毛片18精品视频 | 日韩精品成人一区二区三区| 一区二区三区四区不卡在线 | 久久国产剧场电影| 欧美96一区二区免费视频| 亚洲福利视频一区| 亚洲理论在线观看| 亚洲乱码国产乱码精品精的特点| 国产精品毛片大码女人| 国产精品免费看片| 国产精品精品国产色婷婷| 国产精品久久久久久久久晋中| 国产欧美日韩视频在线观看| 久久久久久久综合狠狠综合| 久久久久久97三级| 日本一区二区成人在线| 国产精品久线观看视频| 午夜视频在线观看一区二区三区| 亚洲欧美电影院| 一区二区三区在线免费播放| 一个色在线综合| 午夜精品久久久久| 免费精品视频在线| 国产专区综合网| 国产精品亚洲一区二区三区在线| 国产福利一区二区三区| jizz一区二区| 欧美无乱码久久久免费午夜一区 | 成人免费三级在线| 不卡欧美aaaaa| 色综合久久综合网| 欧美三级日韩三级| 日韩欧美在线影院| 久久久久青草大香线综合精品| 国产精品久久久久毛片软件| 一区二区三区**美女毛片| 天堂va蜜桃一区二区三区| 精品一区二区三区在线视频| 高清在线成人网| 日本韩国一区二区三区| 日韩一区二区在线观看视频播放| 欧美精品一区二区精品网| 国产精品国产三级国产专播品爱网 | 日韩一区二区精品在线观看| 久久久另类综合| 亚洲最色的网站| 麻豆高清免费国产一区| 99国产精品久| 欧美一级生活片| 国产精品美女久久久久久久网站| 亚洲国产精品一区二区www在线| 久久99久久久欧美国产| 91小视频免费看| 欧美成人一区二区三区| 亚洲欧美日韩国产成人精品影院| 亚洲va欧美va人人爽午夜| 国产精品综合久久| 欧美日精品一区视频| 久久九九久久九九| 亚洲国产美女搞黄色| 成人综合婷婷国产精品久久| 欧美日韩专区在线| 2021中文字幕一区亚洲| 亚洲高清免费观看高清完整版在线观看| 国产精品自拍av| 欧美一区二区视频网站| 亚洲素人一区二区| 国产一区美女在线| 欧美日韩国产综合一区二区| 综合色天天鬼久久鬼色| 九色综合国产一区二区三区| 欧美色综合天天久久综合精品| 国产偷v国产偷v亚洲高清| 亚洲成人777| 色综合欧美在线视频区| 亚洲精品一区二区三区在线观看| 一卡二卡三卡日韩欧美| 99久精品国产| 久久久五月婷婷| 麻豆精品新av中文字幕| 91精品1区2区| 中文字幕一区二区三区精华液| 激情文学综合插| 日韩写真欧美这视频| 亚洲一线二线三线久久久| 波多野结衣一区二区三区| 精品国产麻豆免费人成网站| 日韩精品免费专区| 欧美性受极品xxxx喷水| 亚洲天堂2014| 91在线porny国产在线看| 国产免费观看久久| 国内精品视频666| 777久久久精品| 亚洲午夜久久久久中文字幕久| 成人国产视频在线观看| 久久精品一区蜜桃臀影院| 美日韩一区二区三区| 欧美精品亚洲二区| 亚洲一区在线观看免费观看电影高清| 99在线精品免费| 亚洲欧洲99久久| aaa亚洲精品| 亚洲婷婷综合色高清在线| av亚洲精华国产精华精华| 中文字幕av一区二区三区高| 国产精品69毛片高清亚洲| 日韩一区二区电影| 激情都市一区二区| 69堂精品视频| 日韩1区2区3区| 3atv一区二区三区| 免费人成网站在线观看欧美高清| 欧美日韩精品综合在线| 日韩电影在线观看一区| 在线播放91灌醉迷j高跟美女| 舔着乳尖日韩一区| 欧美一级淫片007| 九色|91porny| 久久影院午夜片一区| 国产激情视频一区二区三区欧美| 人禽交欧美网站| 日韩一区二区在线免费观看| 三级久久三级久久久| 91精品久久久久久久99蜜桃| 性久久久久久久| 日韩一级精品视频在线观看| 精品一区二区三区在线观看国产| 久久综合成人精品亚洲另类欧美 | 久久婷婷色综合| 国产成人福利片| 一区在线播放视频| 91在线观看视频| 婷婷中文字幕综合| 精品裸体舞一区二区三区| 国产成人日日夜夜| 樱花草国产18久久久久| 欧美美女bb生活片| 国产一区 二区 三区一级| 国产精品免费aⅴ片在线观看| 欧美在线综合视频| 蜜臀久久99精品久久久久久9 | 一区二区三区中文在线| 欧美日韩国产经典色站一区二区三区| 免费亚洲电影在线| 国产嫩草影院久久久久| 欧美视频在线一区二区三区 | 国产精品66部| 99久久婷婷国产| 91国偷自产一区二区开放时间| 精品国产露脸精彩对白| 制服丝袜在线91| 国产精品美女视频| 国产精品视频yy9299一区| 久久久久久久综合色一本| 免费久久99精品国产| 亚洲v精品v日韩v欧美v专区| 亚洲自拍偷拍av| 国产中文一区二区三区| 欧美一区二区三区视频在线 | 精品1区2区3区| 国产一本一道久久香蕉| 一二三四区精品视频| 国产三区在线成人av| 欧美日韩亚洲综合一区二区三区 | 色综合久久久久网| 毛片av一区二区| 一区二区三区四区国产精品| 久久一区二区三区四区| 欧美日韩情趣电影| jlzzjlzz亚洲日本少妇| 国模一区二区三区白浆| 视频精品一区二区|