青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

我要啦免费统计
實驗室老是中毒,今天差點連代碼都保不住了
貼貼備份
進程調(diào)度 實驗一 RR 時間片輪轉(zhuǎn)


#include
<stdio.h>
#include
<stdlib.h>
#include
<conio.h>
#include
<iostream>
using namespace std;

#define getch(type)(type*)malloc(sizeof(type))
#define null 0
#define MAXN 1000
int stack[MAXN];
int top;

struct pcb{//調(diào)用進程模塊
    char name[10];//進程名
    char state; //進程狀態(tài): 就緒,運行,完成
    int super; //進程優(yōu)先級
    int ntime;//需要運行的時間
    int rtime;//到達時間 change
    struct pcb* link;//鏈接指針
}
*ready=null,*p;
typedef 
struct pcb PCB;
void destroy();
void check();

void sort()//建立對進程優(yōu)先級排列函數(shù)
{
   PCB 
*first,*second;
   
   
int insert = 0;
   
   
if( ( ready == null ) || ( ( p -> rtime ) < ( ready -> rtime ) ) ){//優(yōu)先級最大者,插入隊首
        p -> link = ready;
        ready 
= p;
   }
 
   
else {//進程比較優(yōu)先級。插入適當?shù)奈恢弥?/span>
       first = ready;
       second 
= first -> link;
       
while( second != null){
           
if( (p -> rtime ) < (second -> rtime)){//come ing time
           
//插入當前進程前面
               p -> link = second;
               first 
-> link = p;
               second 
= null;
               insert 
= 1;   
            
               }

            
else{
                 first 
= first -> link;
                 second 
= second -> link;
               }

           
        }

       
if( insert == 0) first -> link =p;

   
   }

   
return ;
}


PCB 
*q;
PCB 
*front,*rear;

void RR()
{
    
int time=0;
    q
=ready;
    front
=ready;
    rear 
=ready;
    
while(rear->link != null) rear= rear -> link; 
    
    
while( front){
        printf(
"Running Time : %d\n",++time);

        
if(front -> rtime <= time){
           
             front 
-> state ='R';

            front 
-> ntime--;//need time minus 1

            printf(
"\n *** 當前正在運行的進程:%s\n",front->name);

            
if( front -> ntime == 0){// the one which is finished
            p = front;

            
if(front -> link !=null )
            front 
=front ->link;
            
else {printf("\n finished\n");break;}


            p 
-> link = null;

            destroy();

            }

            
else{//else unfinished ,connect last

            rear 
-> link = front;

            p
=front;
            
if(front -> link !=null )
            front 
=front ->link;
            
else {printf("\n finished\n");break;}

            p 
-> link = null
            }

        
         check();
//display all pcbs in queue
       }

     
    }

    
return ;
}


void input()
{
    
int i,num;
    system(
"cls");
    
//clrscr();
    printf("\n 請輸入進程數(shù)量");
    scanf(
"%d",&num);
    
for( i = 0;i < num; i++){
      printf(
" 進程號No.%d",i);
      p
=getch(PCB);
      printf(
"\n 輸入進程名:");
      scanf(
"%s",p->name);
      printf(
"\n 到達時間:");
      scanf(
"%d",&p->rtime);
      printf(
"\n 輸入進程運行時間:");
      scanf(
"%d",&p->ntime);
      printf(
"\n");
      p 
-> super =0; p -> state='W';
      p 
-> link = null;
      sort();
//調(diào)用函數(shù)
    }

//    check();
    return;
}


int space()
{
    
int l=0;
    PCB 
*pr=ready;
    
while(pr != null){
     l
++;
     pr 
= pr->link;
    }

    
return l;

}


void disp(PCB *pr)
{
    printf(
"\n qname\t state \t super \t ntime \t rtime\n");
    printf(
"| %s\t",pr->name);
    printf(
"| %c\t",pr->state);
    printf(
"| %d\t",pr->super);
    printf(
"| %d\t",pr->ntime);
    printf(
"| %d\t",pr->rtime);
    printf(
"\n");
 
return ;
}

void check()//建立進程查看函數(shù)
{
//    PCB *pr;
   /*    printf("\n *** 當前正在運行的進程:%s",p->name);顯示當前 運行 進程
    disp(p);
*/

    p
=front;
    printf(
"\n ****當前就緒隊列狀態(tài):%c",p->state);/* 顯示隊列狀態(tài) */ 
    
while( p != null){
     disp(p);
     p
=p->link;
    }

    
return ;
}


void destroy()/*建立進程撤銷 函數(shù) (進程 運行結束,撤銷進程)*/
{
    printf(
"\n 進程[%s]已完成。\n",p->name);
    free(p);
    
return;
}


/*void running()//進程就緒函數(shù)
{
    (p->rtime)++;
    if( p-> rtime == p -> ntime)// 
        destroy();
    else{
      (p->super)--;
      
      p->state = 'W';
      
      sort();
    }
    return;
}
*/

int main()
{
   freopen(
"in.txt","r",stdin);
    
int len,h=0;
//    char ch;
    input();
    len
=space();
    RR();
/*    while((len != 0) && ( ready !=null)){
        ch=getchar();
        h++;
        printf("\n The execute number :%d\n",h);
        p= ready;
        ready = p->link;
        p->link=null;//吧最前的拿出來 
        p->state ='R';
        check();
        running();
        // system("pause");
        printf("\n 按任意鍵繼續(xù).");
        ch=getchar();
        
    }
*/

    printf(
"\n\n進程已經(jīng)完成。\n");

    
    system(
"pause");
    
return 0;
}

posted on 2008-11-05 20:43 閱讀(4282) 評論(5)  編輯 收藏 引用

評論:
# re: 進程調(diào)度 實驗一 RR 時間片輪轉(zhuǎn)算法 (記錄)[未登錄] 2008-11-06 09:26 | raof01
標題很吸引人,內(nèi)容很讓人失望。  回復  更多評論
  
# re: 進程調(diào)度 實驗一 RR 時間片輪轉(zhuǎn)算法 (記錄) 2008-11-06 10:01 | PDF閱讀器下載
個人覺得代碼還是不錯的  回復  更多評論
  
# re: 進程調(diào)度 實驗一 RR 時間片輪轉(zhuǎn)算法 (記錄)[未登錄] 2008-11-06 19:58 | cdy20
為了應付 老師堂上檢查
不過要怎么改都行的 ,畢竟模擬

沒有實現(xiàn) 搶占式 也沒有實現(xiàn)多級的
有什么想法都可以 交流  回復  更多評論
  
# re: 進程調(diào)度 實驗一 RR 時間片輪轉(zhuǎn)算法 (記錄) 2008-11-12 13:15 | 飄過
用最小堆做個多優(yōu)先級的也是個不錯的選擇,不必非用鏈表,怪麻煩的  回復  更多評論
  
# re: 進程調(diào)度 實驗一 RR 時間片輪轉(zhuǎn)算法 (記錄) 2008-11-12 20:54 | cdy20
@飄過
也是

當練手的,兩年沒用過指針了。  回復  更多評論
  

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费国产一区二区| 一区二区三区免费网站| 午夜精品理论片| 久久精品噜噜噜成人av农村| 亚洲欧美视频在线观看视频| 久久国内精品自在自线400部| 亚洲伦理精品| 亚洲精品1区2区| 欧美色偷偷大香| 久久久久九九视频| 香蕉国产精品偷在线观看不卡| 欧美一区二区三区的| 精品电影在线观看| 欧美国产先锋| 欧美一区影院| 久久最新视频| 国产在线不卡视频| 欧美视频亚洲视频| 国产精品视频在线观看| 免费观看在线综合| 国产精品美女视频网站| 欧美成人性生活| 欧美美女日韩| 久久一区视频| 美女精品在线| 久久久之久亚州精品露出| 亚洲视频免费| 国产精品99久久久久久久久| 亚洲第一天堂无码专区| 美女网站在线免费欧美精品| 欧美成人免费小视频| 欧美在线高清| 久久精品最新地址| 一级日韩一区在线观看| 欧美电影美腿模特1979在线看| 欧美黄色网络| 亚洲精品自在久久| 99成人在线| 亚洲欧美美女| 欧美sm极限捆绑bd| 麻豆精品精华液| 久久蜜桃av一区精品变态类天堂| 亚洲综合色网站| 欧美一区二区免费| 欧美阿v一级看视频| 欧美三区免费完整视频在线观看| 国产精品vvv| 亚洲大胆女人| 亚洲国产精品99久久久久久久久| 亚洲视频免费在线观看| 亚洲精品中文字| 日韩视频一区二区三区| 欧美一区二区视频观看视频| 久久久久国色av免费看影院| 欧美高清视频在线| 午夜精品久久久久久久99水蜜桃| 欧美成人蜜桃| 久久精品视频99| 影音先锋久久资源网| 亚洲欧美激情一区| 亚洲精品美女91| 性欧美video另类hd性玩具| 欧美性色综合| 香蕉久久夜色精品国产| 久久久噜噜噜久久人人看| 国产精品区免费视频| 亚洲美女在线一区| 欧美电影资源| 久久婷婷国产麻豆91天堂| 亚洲激情网站免费观看| 欧美成人精品h版在线观看| 欧美一区二区福利在线| 国产伦精品一区二区三区免费迷 | 先锋影音久久久| 欧美在线一级视频| 亚洲视频精品在线| 久久久久这里只有精品| 日韩视频一区| 亚洲精品无人区| 国产精品一级| 这里只有精品在线播放| 狠久久av成人天堂| 亚洲经典在线看| 亚洲国产高清自拍| 亚洲欧美www| 久久久久久久久久久久久9999| 好吊色欧美一区二区三区四区 | 欧美承认网站| 亚洲美女黄色| 国产精品一区一区三区| 久久综合久久美利坚合众国| 欧美在线视频播放| 一区二区三区鲁丝不卡| 亚洲午夜电影网| 999在线观看精品免费不卡网站| 国产日韩欧美综合| 亚洲免费网站| 亚洲人成久久| 欧美伊人久久大香线蕉综合69| 在线亚洲高清视频| 欧美日韩精品免费观看视一区二区 | 欧美黄色一区| 欧美性做爰毛片| 亚洲日本中文| 亚洲一区二区在线免费观看| 久久久女女女女999久久| 好吊成人免视频| 国产精品国产三级国产a| 一区二区精品| 亚洲天天影视| 欧美日韩国产影片| 亚洲电影中文字幕| 黄色欧美成人| 欧美日韩国产精品自在自线| 一区二区三区av| 亚洲欧美日韩中文播放| 国产精品激情| 亚洲图片在线| 欧美成人精品在线| 欧美成人精品福利| 午夜精品网站| 亚洲无亚洲人成网站77777| 欧美成人a视频| 亚洲午夜av在线| 久久久99久久精品女同性| 韩国女主播一区| 亚洲电影激情视频网站| 国产一区二区精品| 欧美一级播放| 亚洲欧美日韩国产精品| 麻豆久久精品| 久久嫩草精品久久久精品| 中文在线不卡| 国产精品大全| 另类激情亚洲| 久久理论片午夜琪琪电影网| 欧美在线视频二区| 亚洲视频www| 蜜桃av一区二区三区| 老**午夜毛片一区二区三区| 久久亚洲一区二区三区四区| 亚洲一区3d动漫同人无遮挡| 中文精品在线| 亚洲人成网在线播放| 亚洲人成7777| 亚洲国产一区二区视频| 亚洲狼人综合| 亚洲男人天堂2024| 欧美在线一二三区| 麻豆国产精品va在线观看不卡| 亚洲美女尤物影院| 国产欧美一区二区精品秋霞影院| 国产精品久久一级| 国产一区二区三区四区老人| 黄色小说综合网站| 亚洲精品美女| 国产精品综合久久久| 国产亚洲a∨片在线观看| 久热精品视频| 久久精品99无色码中文字幕| 欧美插天视频在线播放| 欧美午夜电影网| 激情视频一区二区三区| 亚洲高清免费在线| 在线中文字幕一区| 国产精品亚洲一区| 精品999成人| 亚洲一级特黄| 99国产精品久久久久久久| 久久免费视频网| 艳妇臀荡乳欲伦亚洲一区| 亚洲一区二区三区四区中文| 欧美成人资源| 国产精品久久久| 亚洲成在线观看| 欧美一区二区啪啪| 91久久综合| 午夜一级久久| 国产视频一区二区三区在线观看| 黑人极品videos精品欧美裸| 先锋影音久久久| 欧美一区二区在线视频| 欧美午夜不卡在线观看免费 | 一区二区日韩伦理片| 欧美国产日韩亚洲一区| 一本到高清视频免费精品| 久久久久久久久岛国免费| 亚洲电影免费| 久久综合五月| 欧美日韩成人一区二区| 国产精品视频99| 欧美在线一级视频| 亚洲欧美激情视频| 欧美日韩在线播放三区| 亚洲伊人第一页| 欧美激情一二区| 欧美日韩福利| 久久久亚洲国产天美传媒修理工| 亚洲天堂av在线免费| 国产精品hd|