作業系統原理 運用FCFS法模擬處理機排程實驗

2021-09-29 12:46:34 字數 2107 閱讀 2926

/*定義程序控制塊*/

typedef

struct

pcbpcb;

/*程序建立函式*/

void

initpcb

(pcb *p)

/*程序執行函式*/

void

runpcb

(pcb *p,

int& time)

ttime = time - p->arrivetime;

cout <<

"time slice is "

<< time <<

",process "

<< p->name <<

" start,"

<< endl;

while

(p->runtime >0)

cout <<

"time slice is "

<< time <<

",process "

<< p->name <<

" end."

<< endl;

cout <<

"process "

<< p->name <<

"'s turnaround time is "

<< ttime << endl;

cout <<

"the remaining processes in the ready queue :"

; p->state =

'c';

//程式置為完成態

//輸出等待佇列裡面剩餘程序的程序名。

while

(p->next !=

null

) cout << endl;

cout << endl;

}///*程序列印函式*/

//void printpcb(pcb *p)

int time =0;

int time =0;

intmain()

cout <<

"開始程序建立~"

<< endl;

for(

; process_num <

5; process_num++

) cout <<

"所有程序建立結束!"

<< endl;

cout <<

"當程序到達處理機時:"

<< endl;

//用插入法建立佇列,將它們按到達時間(arrivetime)從小到大排列

pcb *temp;

//用3個for迴圈將建立的5個程序按照到達時間(arrivetime)從小到大進行排序

for(i =

0; i <

4; i++)*/

if(pcb_line[j]

->arrivetime > pcb_line[j +1]

->arrivetime)eewww

}} head = pcb_line[0]

;for

(i =

0; i <5-

1; i++)

pcb_line[4]

->next=

null

;//程序執行

process_num =0;

while

(process_num <5)

getchar()

;getchar()

;return0;

}程序名

程序達到時間

程序執行時間a5

《作業系統 FCFS和SJF》

fcfs排程演算法 先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。當在作業排程中採用該演算法時,每次排程都是從後備作業佇列中選擇乙個或多個最先進入該佇列的作業,將它們調入記憶體,為它們分配資源 建立程序,然後放入就緒佇列。在程序排程中採用fcf...

作業系統原理 章節測試 作業系統原理

第一章 單元測試 1 單選題 允許多個使用者將若干個作業提交給計算機系統集中處理的作業系統稱為 選項 a 分時作業系統 b 實時作業系統 c 網路作業系統 d 批處理系統 答案 批處理系統 2 單選題 是指兩個或兩個以上的活動或事件在同一時間間隔內發生。選項 a 共享 b 並行 c 併發 d 同步 ...

作業系統原理 作業系統概述

1.2 作業系統的定義和作用 1.3 作業系統的主要特性 1.4典型作業系統的架構 1.5 作業系統的分類 假設有乙個簡單的c語言程式 helloworld,我們通過這個簡單程式的執行過程來看一下作業系統對這個程式的過程有哪些支援!include intmain int argc,char ar 這...