作業系統用C語言模擬程序基於優先順序的排程程式

2021-07-10 09:01:50 字數 1174 閱讀 5298

系統中有若干個程序,每個程序由程序控制塊(pcb)來標識。程序控制塊的內容有:程序名、鏈結指標、到達時間、執行時間、完成時間、程序優先數和程序狀態等。程序優先數為整數型,優先數小優先順序高。

#include

#include

typedef struct pcb

pcb;

pcb *ready = null, *p;

void disp(pcb* p);

pcb * sort(pcb * p)

else

if( p->priority==ready->priority) //如果優先順序相同,則按時間排序

else

}else

if(p->priority>ready->priority)

else

if(p->priority==second->priority)

else

}else

if(p->priority>second->priority)

}if (insert == 0)

}return ready;

}void input()

printf("按程序的優先順序進行排序!\n");

p=ready;

while (p != null)

}int maxnumber(pcb *p)

p=p->link;

}return(max);

}void disp(pcb* p)

void run(pcb *p)

while(s!=null)

printf("程序%s執行一次\n",p->name);

p->runtime--;

p->priority++;

time=time+1;

p->finishtime=time+a;

if(p->runtime==0)

else

}

printf("平均周轉時間為%f\n",sum*1.0/n);

printf("平均帶權周轉時間%f\n",sum1*1.0/n);

}void main()

作業系統 程序排程(C語言)

include include include include using namespace std struct pcb type typedef struct queuenode 佇列鍊錶 queuelink 設定全程變數 struct queuenode ready head null,re...

作業系統 程序排程實驗 模擬 C 版

一 實驗目的 編寫並除錯乙個模擬的程序排程程式,以加深對程序的概念及程序排程演算法的理解 二 實驗內容 除錯執行 動態優先順序 排程演算法,給出執行結果。採用 短程序優先 排程演算法對五個程序進行排程。每個程序有乙個程序控制塊 pcb 表示。程序控制塊可以包含如下資訊 程序名 到達時間 需要執行時間...

作業系統程序排程模擬程式

time.h ifndef time h define time h 乙個模擬時間的類,被pcb和pattemper使用 作為資料成員,或者作為引數進行傳遞,類 只定義了幾個操作符過載的函式用來作為引數 和成員在計算中的使用。類本身會保證構造的時間 都是正確的格式,如果不爭取會置為零值或者丟擲異常 ...