- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统作业调度算法
操作系统上机测试作业调度算法算法
实验目的和要求(供参考)
1.掌握作业调度功能和调度程序常用算法。
2.掌握利用C语言设计实现不同调度策略的作业调度算法。
3.验证不同作业调度算法对性能的影响。
二、实验环境(供参考)
1.知识准备:学过进程管理、作业管理、处理机调度等章节的内容。
2.开发环境与工具:
硬件平台——个人计算机。
软件平台——C语言开发环境。
三、实验内容
用“先来先服务(FCFS)”算法和“最短作业优先(SJF)”算法模拟作业调度。
要求:按作业的到达顺序输入各作业需要的运行时间,按算法调度输出平均周转时间。
例如(FCFS),输入:8(到达时间0), 5(到达时间2),7(到达时间3),1(到达时间6)
J1 J2 J3 J4
0 8 13 20 21
输出:aver=(8+(13-2)+(20-3)+(21-6))/4=51/4
例如(SJF),输入:8(到达时间0), 5(到达时间2),7(到达时间3),1(到达时间6)
J1 J4 J2 J3
0 8 9 14 21
输出:aver=(8+(9-6)+(14-2)+(21-3))/4=42/4
注:输入的格式任意,只要输出平均周转时间即可。
四、代码(带注释)
先来先服务
实验结果(截图呈现)
代码:
#include iostream
using namespace std;
class Fcfs
{
private:
int num[10]; //作业编号
double arriveTime[10]; //到达时间
double startTime[10]; //开始时间,进内存时间
double workTime[10]; //工作时间
double finishTime[10]; //完成时间
double cirTime[10]; //存放每一个作业的周转时间
//double freeTime[10]; //上一个作业已结束,但下一个作业还未到,存放这一段空闲时间
public:
Fcfs(int n) //n为作业数目
{
cout默认第一个作业的到达时间为0。endl;
for(int i=0;in;i++)
{
num[i]=i+1; //给作业编号
cout第num[i]个作业:endl;
cout请输入该作业的到达时间:;
cinarriveTime[i];
if(i==0)
arriveTime[i]=0; //默认第一个作业的到达时间为0
cout请输入该作业的执行时间:;
cinworkTime[i];
if(i==0)
{
startTime[i]=0;
finishTime[i]=workTime[i];
//freeTime[i]=0;
}
else if(arriveTime[i]=finishTime[i-1]) //如果后一个作业已到,而前一个作业未结束
{
startTime[i]=finishTime[i-1]; //则后一个作业的开始时间为上一个作业的结束时间
finishTime[i]=startTime[i]+workTime[i];
//freeTime[i]=0; //前一个一结束就开始工作,没有空闲时间
}
else if(arriveTime[i]finishTime[i-1])
{
//freeTime[i]=arriveTime[i]-finishTime[i-1];//计算空闲时间,前一个作业已完成,但后一个作业还没到,中间空闲时间
startTime[i]=arriveTime[i]; //由于来的时候前一个作业已完成,则该作业的开始时间即为它的到达时间
finishTime[i]=startTime[i]+workTime[i];
}
cirTime[i]=finishTime[i]-arriveTime[i];
}
}
//计算平均周转时间
double getAverageCir(int n) //n为作业数
{
double averageCir,sumCir=0;
for(int i=0;in;i++)
sumC
您可能关注的文档
- 护理简报2014年7月.doc
- 护理管理学期末考试题A+.doc
- 护理职业生涯规划书.doc
- 护理药理学1复习参考资料(北大医学网络).doc
- 护理管理学2014春第四套作业答案.doc
- 护理部培训计划.doc
- 报关实务A卷.doc
- 报告文档MicrosoftWord文档.doc
- 报检单选题.doc
- 报检实务(第二版)课后习题答案.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
最近下载
- 2024年中国石油秋季招聘通用能力考试笔试备考试题及答案解析.docx
- 第一课 教室盆栽我做主—盆栽养护 课件 浙科版综合实践活动四年级上册.pptx
- 医疗安全(不良)事件根本原因分析法活动指南.pdf VIP
- 2023年中考押题预测卷02(杭州卷)-英语(考试版)A4.docx
- 于品 清华丘班数学分析讲义.pdf VIP
- 金融风险管理(中央财经大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 一年一度喜剧大赛江东鸣《先生请出山》完整台词.docx VIP
- 党员立足本职岗位发挥党员先锋引领作用发言稿.doc VIP
- 《机床电气控制》M7130型卧轴矩台平面磨床的电气控制.pdf VIP
- Unit 4 Period 4 Developing Ideas 课件-高一上学期英语课件(外研社2019必修第一册).pptx
文档评论(0)