資源簡介
用C語言(或其它語言,如Java)實現對N個進程采用某種進程調度算法(如先來先服務調度、短作業優先調度、優先權調度、時間片輪轉調度、多級反饋隊列調度)的調度。

代碼片段和文件信息
//#define?_CRT_SECURE_NO_WARNINGS
#include?
#include
using?namespace?std;
class?program{
public:
char?name;
float?arrivetime;?
float?servetime;
float?starttime;
float?finishtime;
float?overtime;?
float?weightime;?
};
void?sort(?program?a[]?int?n){
program?t;
cout<<“根據到達時間重新排序:“< for?(int?j?=?0;?j for?(int?i?=?0;?i if?(a[i].arrivetime>a[i?+?1].arrivetime)
{
t.arrivetime?=?a[i].arrivetime;?a[i].arrivetime?=?a[i?+?1].arrivetime;?a[i?+?1].arrivetime?=?t.arrivetime;
t.name?=?a[i].name;?a[i].name?=?a[i?+?1].name;?a[i?+?1].name?=?t.name;
t.servetime?=?a[i].servetime;?a[i].servetime?=?a[i?+?1].servetime;?a[i?+?1].servetime?=?t.servetime;
}
for?(int?i?=?0;?i cout<<“進程:“<}
void?fcfs(?program?a[]?int?n){
int?i?=?0;
float?time?=?a[i].arrivetime;
for?(i?=?0;?i time?=?time?+?a[i].servetime;
a[i].finishtime?=?time;
a[i].starttime?=?a[i?-?1].finishtime;
a[i].overtime?=?a[i].finishtime?-?a[i].arrivetime;
a[i].weightime?=?(float)a[i].overtime?/?a[i].servetime;
}
cout<<“FCFS算法:“< for?(i?=?0;?i if?(i?==?0){
a[i].starttime?=?a[i].arrivetime;
}
cout<<“進程:“< a[i].finishtime<<“周轉時間:“< }
}
void?sjf(?program?a[]?int?n){
program?t;
int?i?=?0?j?=?0;
float?sorttime;
sorttime?=?a[0].arrivetime;
for?(i?=?0;?i? if?(a[i].arrivetime?<=?sorttime&&a[i?+?1].arrivetime?<=?sorttime){
if?(a[i].servetime?>a[i?+?1].servetime){
t.arrivetime?=?a[i].arrivetime;?a[i].arrivetime?=?a[i?+?1].arrivetime;?a[i?+?1].arrivetime?=?t.arrivetime;
t.name?=?a[i].name;?a[i].name?=?a[i?+?1].name;?a[i?+?1].name?=?t.name;
t.servetime?=?a[i].servetime;?a[i].servetime?=?a[i?+?1].servetime;?a[i?+?1].servetime?=?t.servetime;
}
}
sorttime?=?sorttime?+?a[i].servetime;
}
cout<<“短作業優先算法:“< for?(i?=?0;?i? cout<<“進程:“< }
float?time?=?a[0].arrivetime;
for?(i?=?0;?i time?=?time?+?a[i].servetime;
a[i].finishtime?=?time;
a[i].starttime?=?a[i?-?1].finishtime;
a[i].overtime?=?a[i].finishtime?-?a[i].arrivetime;
a[i].weightime?=?(float)a[i].overtime?/?a[i].servetime;
}
for?(i?=?0;?i if?(i?==?0){
a[i].starttime?=?a[i].arrivetime;
}
cout<<“進程?“< < <<“帶權周轉時間“< }
}
void?main(){
int?i?m?n;
struct?program?pro[5];
cout<<“請輸入進程的數目:“< cin>>m;
for?(i?=?0;?i cout<<“請輸入進程名,到達時間,服務時間“< cin?>>?pro[i].name?>>?pro[i].arrivetime?>>?pro[
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????46080??2015-10-28?14:11??實驗1\Debug\實驗1.exe
?????文件?????410320??2015-10-28?14:11??實驗1\Debug\實驗1.ilk
?????文件?????658432??2015-10-28?14:11??實驗1\Debug\實驗1.pdb
?????文件???15269888??2015-10-28?15:01??實驗1\ipch\實驗1-9ccda7e2\實驗1-f7ce3cc7.ipch
?????文件????????594??2015-10-28?14:11??實驗1\實驗1\Debug\cl.command.1.tlog
?????文件???????8876??2015-10-28?14:11??實驗1\實驗1\Debug\CL.read.1.tlog
?????文件????????252??2015-10-28?14:11??實驗1\實驗1\Debug\CL.write.1.tlog
?????文件??????????2??2015-10-28?14:11??實驗1\實驗1\Debug\li
?????文件??????????2??2015-10-28?14:11??實驗1\實驗1\Debug\li
?????文件???????1318??2015-10-28?14:11??實驗1\實驗1\Debug\li
?????文件???????2638??2015-10-28?14:11??實驗1\實驗1\Debug\li
?????文件????????566??2015-10-28?14:11??實驗1\實驗1\Debug\li
?????文件????????336??2015-10-28?14:11??實驗1\實驗1\Debug\mt.command.1.tlog
?????文件????????246??2015-10-28?14:11??實驗1\實驗1\Debug\mt.read.1.tlog
?????文件????????246??2015-10-28?14:11??實驗1\實驗1\Debug\mt.write.1.tlog
?????文件????????436??2015-10-27?22:37??實驗1\實驗1\Debug\rc.command.1.tlog
?????文件????????218??2015-10-27?22:37??實驗1\實驗1\Debug\rc.read.1.tlog
?????文件????????226??2015-10-27?22:37??實驗1\實驗1\Debug\rc.write.1.tlog
?????文件?????207872??2015-10-28?14:11??實驗1\實驗1\Debug\vc100.idb
?????文件?????241664??2015-10-28?14:11??實驗1\實驗1\Debug\vc100.pdb
?????文件???????3228??2015-10-27?22:37??實驗1\實驗1\Debug\實驗1.Build.CppClean.log
?????文件????????406??2015-10-27?22:37??實驗1\實驗1\Debug\實驗1.exe.em
?????文件????????472??2015-10-27?22:37??實驗1\實驗1\Debug\實驗1.exe.em
?????文件????????381??2015-10-28?14:11??實驗1\實驗1\Debug\實驗1.exe.intermediate.manifest
?????文件?????????72??2015-10-28?14:11??實驗1\實驗1\Debug\實驗1.lastbuildstate
?????文件???????2650??2015-10-28?14:11??實驗1\實驗1\Debug\實驗1.log
?????文件????????196??2015-10-27?22:37??實驗1\實驗1\Debug\實驗1_manifest.rc
?????文件??????73136??2015-10-28?14:11??實驗1\實驗1\Debug\調度算法.obj
?????文件???????3925??2015-10-27?16:56??實驗1\實驗1\實驗1.vcxproj
?????文件????????950??2015-10-27?16:56??實驗1\實驗1\實驗1.vcxproj.filters
............此處省略16個文件信息
評論
共有 條評論