程序排程模擬程式

2022-10-11 18:21:10 字數 1567 閱讀 2205

#include

#include

using namespace std;

const int process_number = 5;//程序數量

const int timeslice = 100;//時間片長度

const int min = -999;//最小優先順序

//程序狀態

enum process_state

;//程序控制塊

struct pcb

;//輸入pcb的資訊

pcb* get_process()

else

i++;

}return head;

}//判斷程序是否已執行完畢

int is_process_finish(pcb* p)

}//輸出優先順序排程時程序的狀態

void output_priority(pcb* p)

cout << endl;

p = p->next;}}

//執行程序

void cpu_execute(pcb* p)

}//判斷優先順序及狀態

if (selected < p->priority && p->state != finish)

p = p->next;

}//計算剩餘時間

if ((q->total_time - q->cpu_time) != 0)

}//優先順序排程

void priority_scheduling()

cout << "process finished, program exit." << endl;

system("pause");

exit(0);

}//設定cpu輪轉

void cpu_round(pcb* p)

p->count++;

p->round++;

p->state = execute;

}//獲取輪轉時下乙個pcb

pcb* get_next_process(pcb* p, pcb* head)

while (q && q->state == finish);

//若傳入的為空指標則取頭指標

if (q == null)

}return q;

}//更改pcb狀態

void change_state(pcb* p)

if (p->state == execute)

p = p->next;}}

//顯示時間片輪轉時的pcb

void output_round(pcb* p)

cout << endl;

p = p->next;}}

//時間片輪轉排程

void round_robin()

cout << "process finished, program exit." << endl;

system("pause");

exit(0);

}//選單

void menu()

int main()

return 0;

}

實驗三 程序排程模擬程式

實驗三 程序排程模擬程式 專業 商軟2班 姓名 郭明茵 學號 201406114204 一 實驗目的 用高階語言完成乙個程序排程程式,以加深對程序的概念及程序排程演算法的理解。二 實驗內容和要求 1.2.1例題 設計乙個有 n個程序併發執行的程序排程模擬程式。程序排程演算法 採用最高優先順序優先的排...

實驗三 程序排程模擬程式

實驗三程序排程模擬程式 1.1.實驗目的 用高階語言完成乙個程序排程程式,以加深對程序的概念及程序排程演算法的理解。1.2.實驗要求 1.2.1例題 設計乙個有 n個程序併發執行的程序排程模擬程式。程序排程演算法 採用最高優先順序優先的排程演算法 即把處理機分配給優先順序最高的程序 和先來先服務 若...

實驗三程序排程模擬程式

實驗目的 用高階語言完成乙個程序排程程式,以加深對程序的概念及程序排程演算法的理解。實驗要求 設計乙個有 n n不小於5 個程序併發執行的程序排程模擬程式。程序排程演算法 時間片輪轉法 排程演算法對n個程序進行排程。完成兩個演算法 簡單時間片輪轉法 多級反饋佇列排程演算法 的設計 編碼和除錯工作,完...