操作系统实验时间片轮转.pdfVIP

  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文档。上传文档
查看更多
学号 专业 计算机科学与技术 姓名 陈帅 实验日期 2017.11.2 教师签字 成绩 实验报告 【实验名称】 轮转调度算法 【实验目的】 1、 掌握轮转调度算法。 2、 进一步认识如何实现处理器调度。 3、 通过对进程调度算法的设计,深入理解进程调度的原理 【实验原理】 时间片轮转调度算法思想用 C语言编程实现,数据结构为队列。 进程等待时间=进程开始运行时间-进程到达时间 ( 即进程处于就绪态时间 ) ; 进程周转时间=进程结束时间-进程到达时间; 加权进程周转时间 = 进程周转时间 / 进程服务时间; 系统平均周转时间 =进程周转时间之和 / 进程数; 系统平均带权周转时间 =进程带权周转时间之和 / 进程数。 在分时系统中,最常用的是基于时间片的轮转算法调度算法。该算法采用了非常公平 的处理机分配方式,即让就绪队列上的每个进程每次运行一个时间片。 通过分配时间片的方式让进程获得处理机,若一个时间片未用完,正在运行的程序就 已经完成,便将其从就绪队列删除,再调用队首进程,并分配时间片;在一个时间片未用 完时,中断程序就会启动,将进程送至就绪队列的尾部。 【数据结构和符号说明】 数据结构: struct PCD // 定义结构体 { char name;// 进程名 int a_time;// 到达时间 int s_time;// 服务时间 int s_time2; int f_time;// 完成时间 float t_time;// 周转时间 float wt_time;// 带权周转时间 int state;// 当前进程的状态 }; 符号和函数说明 int Currenttime=0;// 当前时间 PCD s[5];// 设置为 5 个进程 queuePCD q;// 进程队列 int turnover(PCD n)// 求周转时间 float wturnover(PCD n)// 求带权周转时间 程序流程图: 程序: #includeiostream #includequeue #define MAX 100 using namespace std; struct PCD // 定义结构体 { char name;// 进程名 int a_time;// 到达时间 int s_time;// 服务时间 int s_time2; int f_time;// 完成时间 float t_time;// 周转时间 float wt_time;// 带权周转时间 int state;// 当前进程的状态 }; int Currenttime=0; int turnover(PCD n)// 求周转时间 { return n.t_time=n.f_time-n.a_time; } float wturnover(PCD n)// 求带权周转时间 { return n.wt_time=n.t_time/n.s_time; } int main() { int t; qu

文档评论(0)

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

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

1亿VIP精品文档

相关文档