首先我們要清楚在程序物件中需要擁有哪些資訊:①程序識別符號;②程序進入時間;③程序結束時間;在上述中我們可以發現建立程序類時,其中擁有乙個很重要的物件,就是時間,因此我們也需要實現乙個時間類,來為我們建立程序類做服務。其次,在程序執行時,我們又需要哪些中間值來輔助程序進行:①服務剩餘時間;②時間線;③優先順序;
最後,在程序執行結束後,我們需要得到哪些資訊:①程序開始時間;②程序結束時間;③程序周轉時間;④程序帶權周轉時間;
時間類
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 了解程序 執行緒 的排程機...