时间片轮转调度算法实验报告
《时间片轮转调度算法实验报告》由会员分享,可在线阅读,更多相关《时间片轮转调度算法实验报告(10页珍藏版)》请在装配图网上搜索。
1、 ...wd...
xx大学操作系统实验报告
姓名:学号:班级:
实验日期:
实验名称:时间片轮转RR进程调度算法
实验二时间片轮转RR进程调度算法
1. 实验目的: 通过这次实验,理解时间片轮转RR进程调度算法的运行原理,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法。
2. 需求分析
(1) 输入的形式和输入值的范围;
输入:进程个数n 范围:0 2、间
进程服务时间〕
(2) 输出的形式
进程名
到达时间
服务时间
完成时间
周转时间
带权周转时间
所有进程平均周转时间:
所有进程平均带权周转时间:
(3) 程序所能到达的功能
1) 进程个数n,输入时间片大小q,每个进程的到达时间T1, … ,Tn和服务时间S1, … ,Sn。
2〕要求时间片轮转法RR调度进程运行,计算每个进程的周转时间和带权周转时间,并且计算所有进程的平均周转时间和带权平均周转时间;
3〕输出:模拟整个调度过程,输出每个时刻的进程运 3、行状态;
4〕输出:输出计算出来的每个进程的周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间。
(4) 测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果。
正确输入:
错误输入:
2、概要设计
所有抽象数据类型的定义:
static int MaxNum=100
int ArrivalTime//到达时间
int ServiceTime//服务时间
int FinishedTime//完毕时间
int WholeTime//周转时间
double WeightWholeTime//带权周转时间
double Averag 4、eWT //平均周转时间
double AverageWWT //平均带权周转时间
主程序的流程:
l 变量初始化
l 承受用户输入的n,q ,T1…..Tn,S1….Sn;
l 进展进程调度,计算进程的开场运行时间、完毕时间、执行顺序、周转时间、带权周转时间;
l 计算所有进程的平均周转时间、平均带权周转时间;
l 按照格式输出调度结果。
各程序模块之间的层次(调用)关系
Main函数通过对Input函数进展调用,对函数的成员变量进展赋值,再通过RRAlgorithm函数求出题目要求的各个数据结果,最后通过display函数对结果进展格式输出。
3、详细设计
实现程 5、序模块的具体算法。
void RRAlgorithm()
{
char processMoment[100]; //存储每个时间片p对应的进程名称
RRqueue.push(RRarray[0]);
int processMomentPoint = 0;
int CurrentTime=0;
int tempTime; //声明此变量控制CurrentTime的累加时间,当前进程的服务时间小于时间片q的时候,起到重要作用
int i=1; //指向还未处理的进程的下标
int f 6、inalProcessNumber = 0; //执行RR算法后,进程的个数
int processTime[50];
//CurrentTime的初始化
if (RRarray[0].ServiceTime>=q)
{
CurrentTime = q;
}
else
{
CurrentTime = RRarray[0].ServiceTime;
}
while(!RRqueue.empty())
{ 7、
for (int j=i;j 8、ront().ServiceTime 9、sMomentPoint] = RRqueue.front().name;
processMomentPoint++;
processTime[finalProcessNumber] = tempTime;
finalProcessNumber++;
if (RRqueue.front().ServiceTime <= 0) //把执行完的进程退出队列
{
//RRqueue.front().FinishedTime = CurrentTime;
10、 RRqueue.pop(); //如果进程的服务时间小于等于,即该进程已经服务完了,将其退栈
}
else
{
//将队首移到队尾
RRqueue.push(RRqueue.front());
RRqueue.pop();
}
CurrentTime += tempTime;
}
//进程输出处理 每个时间段对应的执行的进程
11、
cout<<"各进程的执行时刻信息:"< 12、ocessMoment[i]< 13、setw(2)<
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。