作業系統 程序排程演算法程序物件建立

2021-10-01 05:12:31 字數 3054 閱讀 7319

首先我們要清楚在程序物件中需要擁有哪些資訊:①程序識別符號;②程序進入時間;③程序結束時間;

其次,在程序執行時,我們又需要哪些中間值來輔助程序進行:①服務剩餘時間;②時間線;③優先順序;

最後,在程序執行結束後,我們需要得到哪些資訊:①程序開始時間;②程序結束時間;③程序周轉時間;④程序帶權周轉時間;

在上述中我們可以發現建立程序類時,其中擁有乙個很重要的物件,就是時間,因此我們也需要實現乙個時間類,來為我們建立程序類做服務。

時間類

class

time

~time()

//輸入過載

friend istream&

operator

>>

(istream& _cin, time& time)

;//輸出過載

friend ostream&

operator

<<

(ostream& _cout,

const time time)

;//計算差值,返回分鐘

intoperator-(

const time& time)

int hour = max._hour - min._hour;

int minute = max._minute - min._minute;

if(minute <0)

return

(minute + hour *60)

*flag;

} time&

operator+(

const

int n)

time&

operator+=

(const

int n)

//賦值運算子過載

time&

operator

=(time& time)

//邏輯運算過載

bool

operator

>

(const time& time)

}bool

operator==(

const time& time)

bool

operator!=(

const time& time)

bool

operator

>=

(const time& time)

bool

operator

<

(const time& time)

bool

operator

<=

(const time& time)

private

:int _hour;

int _minute;};

istream&

operator

>>

(istream& _cin, time& time)

ostream&

operator

<<

(ostream& _cout,

const time time)

程序類

//程序類

class

process

process

(time entertime, size_t servicetime, time begintime, time finishtime,

size_t rtime =0,

double powertime =0,

int name =0)

:_entertime

(entertime)

,_servicetime

(servicetime)

,_begintime

(begintime)

,_finishtime

(finishtime)

,_rtime

(rtime)

~process()

//輸入過載

friend istream&

operator

>>

(istream& _cin, process& process)

;//輸出過載

friend ostream&

operator

<<

(ostream& _cout,

const process process)

;//引用過載

process&

operator&(

)//賦值過載

process&

operator

=(process& a)

static time _linetime;

//時間線

int _name;

//程序編號

time _entertime;

// 進入時間

size_t _servicetime;

//服務時間

time _begintime;

//開始時間

time _finishtime;

//完成時間

size_t _rtime;

//周轉時間

double _powertime;

//帶權周轉時間

double _first;

//優先順序

int _remainsevicetime;

//剩餘時間

};

程序資訊的輸入

//輸入

void

input

(vector

& process)

}

程序資訊的輸出

//輸出

void

output

(const vector

& process)

}

作業系統 程序排程演算法

cpu利用率 cpu忙碌的時間佔總時間的比例 利 用率 忙碌的 時間總時 間利用率 frac 利用率 總時 間忙碌的 時間 系統吞吐量 單位時間完成作業或程序的數量 吞 吐量 完成的 作業數量 總時 間吞吐量 frac 吞吐量 總時 間完成的 作業數量 周轉時間 完成作業需要花費的總時間 周 轉時 ...

作業系統 程序排程

程序排程程序排程室作業系統必不可少的一種排程。因此在三種型別的os dos windows linux 都無一例外地配置了程序排程。此外它也是對系統效能影響最大的一種處理機排程。程序排程的任務 儲存處理機的現場資訊。在進行排程時首先需要儲存當前程序的處理機的現場資訊,如程式計數器 多個通用暫存器中的...

作業系統程序排程

華中農業大學 學生實驗報告 課程名稱 計算機作業系統 實驗名稱 程序排程 實驗型別 驗證 設計 綜合 創新 實驗目的 實驗目的 1 通過編寫程式實現程序或作業先來先服務 高優先權 按時間片輪轉排程演算法,使 學生進一步掌握程序排程的概念和演算法,加深對處理機分配的理解。2 了解程序 執行緒 的排程機...