实验二 201320180421.柳建斌 doc
更新时间:2023-12-25 11:51:01 阅读量: 教育文库 文档下载
- 实验二小推荐度:
- 相关推荐
实验二
课程设计题目:短作业优先JSF
学生姓名:柳建斌 专 业:软件工程 班 级:1321804 学 号:201320180421 指导教师:吴建东
2015年 6月 12日
一、实验目的
模拟单处理器系统的进程调度,采用短作业优先的进程调度算法作为进程设计算法,以加深对进程的概念及进程调度算法的理解.
二要求:
1. 认真阅读并理解下述程序,说明短作业优先调度算法中计算各进程的完成时间、周转时间、带权周转时间思路。
2. 上面程序没有考虑某进程的运行时间最短,但它还没有到达的情况,请改写程序,将这种情况考虑进去,使程序正确。如进程信息如下: struct PCB pcb[N]= {{\进程名 A B C D E 到达时间 0 1 2 15 4 运行时间 4 3 5 2 4 完成时间 4 7 16 18 11 周转时间 4 6 14 3 7
3. 上面程序没有求每个进程的带权周转时间、平均周转时间,平均带权周转时间,能否加上,结果输出的格式按类似P90表4-2 输出。
三、实验内容
完成时间:等于到达时间加上运行时间,
pcb[index].finish_time=pcb[index].arrive_time+pcb[index].run_time;
周转时间:等于运行时间, pcb[index]. turnover_time =pcb[index].run_time; 带权周转时间:
pcb[short_index].turnover_time=pcb[short_index].finish_time-pcb[short_index].arrive_time;
四、代码
//代码已经更改,能实现短作业优先的功能
#include
char name[8]; //进程名称 int arrive_time; //到达时间 int run_time; //运行时间 int turnover_time; //周转时间 int finish_time; //完成时间
bool arrive; //在一个进程的执行过程中是否有其他进程到达 bool finished; //是否执行完 };
int main() {
struct PCB pcb[N];
int i,j,k,short_index,short_index2;
int needtime; //作为与run_time比较参数 int totaltime=0;
int total=0; //判断一个进程在执行过程中是否有其他进程到达的参数
//下面是输入进程
for ( i=0;i printf(\请输入进程名、到达时间、要运行时间:\ scanf(\ scanf(\ scanf(\ pcb[i].arrive=false; pcb[i].finished=false; } //本程序设定先运行第一个进程 pcb[0].arrive=true; short_index=0; //该变量存放已经到达进程中 运行时间最少 的进程数组的下标 total=pcb[0].arrive_time; //将被选中的进程执行,在执行过程中如果有其他进程到达,则将其arrive设为true for(i=0;i { for(j=0;j total++; for(k=0;k if(total==pcb[k].arrive_time) pcb[k].arrive=true; printf(\进程%s运行了%d秒\\n\ } if(short_index==0) pcb[short_index].finish_time=pcb[short_index].run_time; else { if (pcb[short_index].arrive_time<=pcb[short_index2].finish_time) pcb[short_index].finish_time=pcb[short_index2].finish_time+pcb[short_index].run_time; else pcb[short_index].finish_time=pcb[short_index].finish_time+pcb[short_index].run_time; } pcb[short_index].turnover_time=pcb[short_index].finish_time-pcb[short_index].arrive_time; printf(\进程%s共花费了%d秒运行完毕\\n\ pcb[short_index].finished=true; //选择其他已经到达,还没有运行完,运行时间最少的进程,将其数组下标放入short_index变量中 needtime=1000; short_index2=short_index; for(j=0;j if(pcb[j].arrive==true && pcb[j].finished==false && pcb[j].run_time needtime=pcb[j].run_time; short_index=j; } } printf(\进程名、到达时间、运行时间、完成时间、周转时间\\n\ //下面是显示输入的进程 for( i=0;i { totaltime=totaltime+pcb[i].run_time; printf(\ printf(\ printf(\ printf(\ printf(\ } return 0; } 五、结果 六、总结: 一个功能一个功能实现,有耐性,终会感觉到成功的喜悦。
正在阅读:
循环水泵电机检修作业指导书01-12
XNA Posing Studio(XPS)教程 - 图文12-06
高二电子专业期末单片机试题(可编辑修改word版)05-12
用于银行贷款2013年水利建设项目可行性研究报告(甲级资质+专家05-09
声光显示智力竞赛抢答器设计05-23
社会学概论10-30
纪录片《高考少年》观后感范文大全07-30
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 建斌
- 201320180421
- 实验
- doc
- 《大学计算机基础》复习题2
- 重庆科创职业学院人才培养方案1
- 0073 温州住宅前安置房防水工程施工方案
- 湖南省重点中学(1)2012届高三第一次月考试题(地理) - 图文
- 手标本上常见矿物鉴定 - 图文
- 总监理工程师2010年个人述职报告
- 合同协议范本外贸合同(现汇)范本
- 2014年9月四川省公务员录用考试《行政职业能力测验》试卷 - 图文
- 幼儿园施工组织设计 - 图文
- 合肥产后修复排名
- 山东潍坊高密08-09学年八年级下期末考试试卷
- 狐假虎威课本剧 剧本
- 09届高三化学二轮复习 专题一 无机框图推断
- 学生社团管理系统课程设计说明书 - 图文
- 2019年中国冰箱市场深度研究与行业竞争对手分析报告(定制版)目录
- 新视野大学英语视听说4答案Unit7
- 九九重阳节活动策划方案四篇
- 食品微生物习题
- 考研资本主义经济选择题
- 教师师德标兵先进事迹材料