操作系统实验报告一处理机调度.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
输入模块输出模块处理机调度函数 调用模 输入模块 输出模块 处理机调度函数 调用模块 主函模块 先入先出算法模 拟模块 短进程优先算法 模拟模块 相关时间计算模 块 实验项目名称 处理机调度 实验成绩 实验者 组别 专业班级 实验日期 同组者 年 月 日 实验课程名称: 第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的: 掌握处理机调度的相关内容,对进程调度算法有深入理解。 实验内容: 模拟实现进程调度功能。 实验要求: 任选一种高级语言实现; 选择 1-2 种调度算法; 能够输入进程的基本信息,如进程名、提交时间、预估运行时间等; 根据选择的调度算法显示进程调度顺序; 显示完成调度后每个进程的开始时间、完成时间呢、周转时间,带权周转时间; 计算平均周转时间和平均带权周转时间。 二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或 者算法描述) 数据结构: 一个作业的描述结构: struct WORK { int num;//进程序号 float startTim;//开始时间 float upTim;//提交时间 float offTim;//结束时间 float costTim;//耗费时间长度 float Ti;//周转时间 float Tr;//带权周转时间 }; 功能框图及功能说明: 返回 调用 返回 调用 调用 调用 返回 返回 功能说明: 输入模块、输出模块:负责进程的输入及模拟结果的输出; 处理机调度函数调用模块:选择调用算法完成进程调度; 先入先出算法模拟模块、短进程优先算法模拟模块:实际完成模拟调度功能; 相关时间计算模块:计算开始时间、结束时间,周转时间,带权周转时间。 三、主要仪器设备及耗材 硬件:pc 机; 软件:windows2007 旗舰版、VS 2010 开发环境。 第二部分:实验调试与结果分析(可加页) 一、实验源程序: # include iostream using namespace std; struct WORK { int num;//进程序号 float startTim;//开始时间 float upTim;//提交时间 float offTim;//结束时间 float costTim;//耗费时间长度 float Ti;//周转时间 float Tr;//带权周转时间 }; void FIFO(WORK *workspace,int workNum); void SJF(WORK *workspace,int workNum); void SUM(WORK *workspace,int workNum,float *T,float *W); int main() { int num; float upTim; float costTim; int workNum; cout请输入需要被调度的作业的数目:endl; cinworkNum; WORK *workspace=new WORK[workNum]; cout请依次输入需要被调度的作业(输入格式:作业序号 作业提交时间(用数字表示) int n=0; while(cinnumupTimcostTim nworkNum) { workspace[n].num=num; workspace[n].upTim=upTim; workspace[n].costTim=costTim; n++; 执行时间):endl; } cin.clear(); cin.sync(); cout作业序号\t 作业提交时间\t 执行时间):endl; for(int i=0;iworkNum;i++) { coutworkspace[i].num\t\tworkspace[i].upTim\t\t workspace[i].costTimendl; } /******************选择算法,执行算法,结果输出*****************/ int cho=0; float * T=new float[0],* W=new float[0]; cout请选择调度算法:endl; cout0---FIFO\n1---最短优先endl; cincho; switch(cho) { case 0: FIFO(workspace,workNum); SUM(workspace,workNum,T,W);break; case 1: SJF(workspace,workNum); SUM(workspace,workNum,T,W);break; } cout执行顺序\t提交时间\t执行时间 \t开始时间\t结束时间endl; for(int i=0;iworkNum;i+

文档评论(0)

damoyihao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档