資源簡介
NULL
博文鏈接:https://touch-2011.iteye.com/blog/1047163
代碼片段和文件信息
/**
?*???這是一個(gè)進(jìn)程調(diào)度模擬的程序,輸入阻塞進(jìn)程的個(gè)數(shù)和信息,輸入就緒進(jìn)程的個(gè)數(shù)和信息,
?*???然后采用時(shí)間片輪轉(zhuǎn)法進(jìn)程調(diào)度,在整個(gè)調(diào)度過程中會有阻塞隊(duì)列里的進(jìn)程被喚醒
?*???輸出進(jìn)程切換信息和cpu的利用率
?*
?**/
#include
#include
#include
#include
#include“queue.c“
//定義全局變量
//時(shí)間片
int?time_slice;
?
//cpu空閑的時(shí)間
int?unuse_cpu=0;
//就緒隊(duì)列
PNode?*?ready_queue;
//初始狀態(tài)就緒隊(duì)列里進(jìn)程的個(gè)數(shù)
int?m;
//阻塞隊(duì)列
PNode?*?block_queue;
//初始狀態(tài)阻塞隊(duì)列里進(jìn)程的個(gè)數(shù)
int?n;
//當(dāng)前時(shí)間
int?current_time=0;
//?記錄進(jìn)程調(diào)用順序(每一次切換進(jìn)程引起調(diào)用)
int?process_sort[50];
//記錄進(jìn)程調(diào)用次數(shù)(切換進(jìn)程的次數(shù))
int??count=0;
//記錄切換進(jìn)程時(shí)的時(shí)間
int??change_time[50];
//函數(shù)聲明
void?start_state();//初始化開始時(shí)的信息
void?wake();//喚醒進(jìn)程
PPCB??select_at_head();//從隊(duì)列選擇進(jìn)程,選擇對頭元素即可
void?run(PPCB?p_pcb);//某個(gè)進(jìn)程運(yùn)行,直到用完一個(gè)時(shí)間片或者該進(jìn)程運(yùn)行完成
void?dispath();//進(jìn)程調(diào)度
double?calculate();//計(jì)算cpu的利用率
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????351??2006-08-02?08:35??源代碼\PCB.h
?????文件???????4623??2011-05-17?16:04??源代碼\process.c
?????文件???????1166??2011-05-12?23:33??源代碼\queue.c
?????文件????????410??2011-05-10?19:00??源代碼\QueueNode.h
?????目錄??????????0??2011-05-17?16:08??源代碼
-----------?---------??----------?-----??----
?????????????????6550????????????????????5
- 上一篇:Playfire加密算法C語言實(shí)現(xiàn)
- 下一篇:C語言迷宮問題
評論
共有 條評論