先来先服务和短作业优先调度算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《操作系统》实验一实验报告

【实验题目】:先来先服务FCFS和短作业优先SJF进程调度算法【实验目的】

通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法。

【实验内容】

问题描述:

设计程序模拟进程的先来先服务FCFS和短作业优先SJF调度过程。假设有n个进程分别在T1, …,T n时刻到达系统,它们需要的服务时间分别为S1, … ,S n。分别采用先来先服务FCFS和短作业优先SJF 进程调度算法进行调度,计算每个进程的完成时间,周转时间和带权周转时间,并且统计n个进程的平均周转时间和平均带权周转时间。

程序要求如下:

1)进程个数n;每个进程的到达时间T1, …,T n和服务时间S1, … ,S n;选择算法1-FCFS,2-SJF。

2)要求采用先来先服务FCFS和短作业优先SJF分别调度进程运行,计算每个进程的周转时间,带权周转时间,并且计算所有进程的平均周转时间,带权平均周转时间;

3)输出:要求模拟整个调度过程,输出每个时刻的进程运行状态,如“时刻3:进程B开始运行”等等;

4)输出:要求输出计算出来的每个进程的周转时间,带权周转时间,

所有进程的平均周转时间,带权平均周转时间。【实验过程】

#include

using namespace std;

#define MaxNum 100

int ArrivalTime[MaxNum];

double ServiceTime[MaxNum];

double FinishTime[MaxNum];

double WholeTime[MaxNum];

double A VEWholeTime[MaxNum];

double A VEWeightWholeTime[MaxNum]; double WeightWholeTime[MaxNum];

double AverageWT_FCFS,AverageWT_SJF; double AverageWWT_FCFS,AverageWWT_SJF; double AllTime,WeightAllTime;

double a[MaxNum];

int b[MaxNum];

int c[MaxNum];

int d[MaxNum];

void FCFS();

void SJF();

void FCFS()

{

int ProcessNum;

cout<<"----------先来先服务算法----------"<

cout<<"请输入进程个数:";

cin>>ProcessNum;

cout<<"输入进程到达时间:";

cout<

for(int i=0;i

{

cin>>ArrivalTime[i];

//cout<

}

cout<

cout<<"请输入进程服务时间:";

cout<

for(int i=0;i

{

cin>>ServiceTime[i];

//cout<

}

cout<

for(int i=0;i

{

FinishTime[i]=ServiceTime[i];

}

for(int i=0;i

{

FinishTime[i+1]=FinishTime[i]+FinishTime[i+1];

}

for(int i=0;i

{

cout<<"时刻"<

}

cout<<"PCFS完成时间:";

for(int i=0;i

{

cout<

}

cout<

cout<<"PCFS周转时间:";

for(int i=0;i

{

WholeTime[i]=FinishTime[i]-ArrivalTime[i];

}

for(int i=0;i

{

cout<

}

cout<

cout<<"PCFS平均周转时间:";

for(int i=0;i

{

A VEWholeTime[i]=WholeTime[i];

//cout<

}

for(int i=0;i

{

A VEWholeTime[i+1]=A VEWholeTime[i]+A VEWholeTime[i+1];

//cout<

AllTime=A VEWholeTime[i+1];

}

cout<

AverageWT_FCFS=AllTime/ProcessNum;

相关文档
最新文档