- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
作业调度 - welcome to nginx!
实验示例 常用的打开文件方法: if((fp = fopen(fname, r)) == NULL) { printf(error, open file failed, please check filename:\n); } else {…} fclose(fp); 实验示例 void FCFS() { int time = 0; //当前时间 printf(\nFCFS算法作业流\n); while (cur_count 0) { int loc = 0; if (time jobs[loc].reach_time) time = jobs[loc].reach_time; jobs[loc].start_time = time; jobs[loc].wait_time = time - jobs[loc].reach_time; printf(time:%-4d job:%-4d 开始运行 等待时间:%-4d\n, time, jobs[loc].number, jobs[loc].wait_time); time += jobs[loc].need_time; jobs[loc].tr_time = time - jobs[loc].reach_time; jobs[loc].wtr_time = (double)jobs[loc].tr_time / jobs[loc].need_time; printf(time:%-4d job:%-4d 结束运行 周转时间;%-4d 服务时间:%-4d 带权周转时间:%-5.2f\n, time, jobs[loc].number, jobs[loc].tr_time, jobs[loc].need_time, jobs[loc].wtr_time); total_wtime += jobs[loc].wait_time; total_trtime += jobs[loc].tr_time; total_wtrtime += jobs[loc].wtr_time; remove_job(loc); } printf(\n平均等待时间:%.2f\n, total_wtime / count); printf(平均周转时间:%.2f\n, total_trtime / count); printf(平均带权周转时间:%.2f\n, total_wtrtime / count); } 实验示例 FCFS 作业要求 实现短作业优先调度算法(SJF非抢占); 实现高响应比调度算法(HRRF非抢占); 对每种算法要求打印平均周转时间、平均带权周转时间、平均等待时间; 每次作业切换时打印作业相关信息(提示开始运行,结束运行\暂停运行;一个作业完成打印其等待时间、周转时间、带权周转时间)。 学号末2位模5所得结果+1为该生所需测试数据文件尾编号如:所得结果为3则测试数据为job3.txt ; 实验示例 定义队列 typedef struct { job job_queue[MAX_QUEUE_SIZE]; int head; int tail; int size; } queue; 实验示例 初始化队列 void init_queue(queue *q) { q-head = 0; q-tail = 0; q-size = 0; } 实验示例 判断队列是否为空/已满 int is_empty_queue(queue *q) { return q-size == 0; } int is_full_queue(queue *q) { return q-size == MAX_QUEUE_SIZE; } 实验示例 其他基本队列操作 //进入队列 void enqueue(queue *q, job j){} //出队 job dequeue(queue *q){} //打印队列内容 void print_queue(queue *q){} 作业要求 根据以上提示信息实现时间片轮转调度算法(RR) 对每种算法要求打印平均周转时间、平均带权周转时间、平均等待时间; 每次作业切换时打印作业相关信息(提示开始运行,结束运行\暂停运行;一个作业完成打印其等待时间、周转时间、带权周转
您可能关注的文档
最近下载
- 统编版高中语文选择性必修中册第二单元苦难与新生中国革命传统作品研习单元任务群(一)苦难与新生课件(共14张PPT).ppt VIP
- 100海上大型绞吸疏浚装备的自主研发与产业化.pdf VIP
- 电阻式传感器课件.pptx VIP
- 杭州市第三届景点景区讲解员服务技能大赛笔试题库.docx VIP
- JVC摄像机GR-DV5000AC用户手册.pdf
- 沙原隐泉 优秀剖析.ppt VIP
- 公文写作:决定.ppt VIP
- 增碳剂对球墨铸铁的孕育作用.pdf VIP
- 上汽通用别克-全新一代GL8-产品使用说明书-28T Avenir-SGM6522UAA3-2018年款别克全新一代GL8用户手册.pdf
- 杭州市第三届景点景区讲解员服务技能大赛笔试题库.pdf VIP
原创力文档


文档评论(0)