资源简介

用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 < n - 1; 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 < n; 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\link-cvtres.read.1.tlog

     文件          2  2015-10-28 14:11  实验1\实验1\Debug\link-cvtres.write.1.tlog

     文件       1318  2015-10-28 14:11  实验1\实验1\Debug\link.command.1.tlog

     文件       2638  2015-10-28 14:11  实验1\实验1\Debug\link.read.1.tlog

     文件        566  2015-10-28 14:11  实验1\实验1\Debug\link.write.1.tlog

     文件        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.embed.manifest

     文件        472  2015-10-27 22:37  实验1\实验1\Debug\实验1.exe.embed.manifest.res

     文件        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个文件信息

评论

共有 条评论