- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实 验 报 告
2012 ~2013 学年 第 2 学期
院(系、部) 计算机科学与技术学院
课 程 名 称 计算机操作系统
学 生 姓 名
学 号
专 业 班 级
2013年 05月 08日
《操作系统》实验一
内容要求
【实验题目】:先来先服务FCFS和短作业优先SJF进程调度算法
【实验学时】:4学时
【实验目的】
通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法。
【实验内容】
问题描述:
设计程序模拟进程的先来先服务FCFS和短作业优先SJF调度过程。假设有n个进程分别在T1, … ,Tn时刻到达系统,它们需要的服务时间分别为S1, … ,Sn。分别采用先来先服务FCFS和短作业优先SJF进程调度算法进行调度,计算每个进程的完成时间,周转时间和带权周转时间,并且统计n个进程的平均周转时间和平均带权周转时间。
程序要求如下:
1)进程个数n;每个进程的到达时间T1, … ,Tn和服务时间S1, … ,Sn;选择算法1-FCFS,2-SJF。
2)要求采用先来先服务FCFS和短作业优先SJF分别调度进程运行,计算每个进程的周转时间,带权周转时间,并且计算所有进程的平均周转时间,带权平均周转时间;
3)输出:要求模拟整个调度过程,输出每个时刻的进程运行状态,如“时刻3:进程B开始运行”等等;
4)输出:要求输出计算出来的每个进程的周转时间,带权周转时间,所有进程的平均周转时间,带权平均周转时间。
实验要求:
1)上机前认真复习FCFS和SJF进程调度调度算法,熟悉进程调度的执行过程;
2)上机时独立编程、调试程序;
3)根据具体实验要求,完成好实验报告(包括实验的目的、内容、要求、源程序、实例运行结果截图)。
源程序:
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
static int MaxNum=100;
struct Task
{
int number;
char name[10];
int ArrivalTime;//到达时间
int ServiceTime;//服务时间
int BeginTime;//开始运行时间
int FinishTime;//完成时间
int WholeTime;//周转时间
double WeightWholeTime;//带权周转时间
int finish;
};
struct TaskList
{
Task *task;
int length;
int listsize;
};//任务顺序表
void InitList_Task(TaskList &L);
void Input(TaskList &L);
void FCFS(TaskList &L);
void SJF(TaskList &L);
void Output(TaskList &L);
int main()
{
char flag='y';
int option;
TaskList taskList;
InitList_Task(taskList);
cout<<"选择您需要的调度算法:"<<endl;
cout<<"1、先来先服务;"<<endl;
cout<<"2、短作业优先;"<<endl;
cout<<"3、两种算法"<<endl;
cout<<"0、退出;"<<endl;
cin>>option;
switch(option)
{
case 0:
cout<<"运行结束。";
break;
case 1:
Input(taskList);
cout<<"**********************对进程按先来先服务调度************************"<<endl;
FCFS(taskList);
Output(taskList);
break;
case 2:
Input(taskList);
cout<<"**********************对进程按短服务调度****************************"<<endl;
SJF(taskList);
Output(taskList);
break;
case 3:
Input(taskList);
cout<<"**********************对进程按先来先服务调
您可能关注的文档
- 《病隙碎笔》读后感.doc
- 《播音创作基础》期末复习.doc
- 《伯牙绝弦》观课报告.doc
- 《泊秦淮》《贾生》课后作业练习(含答案).doc
- 《泊秦淮》《贾生》预习导学设计(含答案).doc
- 《博弈论》期末考试试题.doc
- 《博弈论基础》课程期末论文(秋冬).doc
- 《卜算子》(缺月挂疏桐)教案.doc
- 《卜算子·送鲍浩然之浙东》教案.doc
- 《卜算子黄州定慧院寓居作》阅读答案.doc
- 2023年康复设备行业洞察报告及未来五至十年预测分析报告.docx
- 2023年微型汽车行业市场突围建议及需求分析报告.docx
- 2023年电热设备:电热管行业市场突围建议及需求分析报告.docx
- 2023年膜分离装置行业市场突围建议及需求分析报告.docx
- 2023年金刚石拉丝模行业市场突围建议及需求分析报告.docx
- 2023年常用有色金属矿行业分析报告及未来五至十年行业发展报告.docx
- 2023年监控单元行业市场突围建议及需求分析报告.docx
- 2023年通信传输设备行业市场需求分析报告及未来五至十年行业预测报告.docx
- 2023年电压测量仪器行业市场突围建议及需求分析报告.docx
- 2023年空分设备行业洞察报告及未来五至十年预测分析报告.docx
文档评论(0)