短作业优先调度.doc

短作业优先调度.doc

ID:51262366

大小:112.36 KB

页数:8页

时间:2020-03-20

短作业优先调度.doc_第1页
短作业优先调度.doc_第2页
短作业优先调度.doc_第3页
短作业优先调度.doc_第4页
短作业优先调度.doc_第5页
资源描述:

《短作业优先调度.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一进程调度一、实验目的编写并调试一个模拟的进程调度程序,以加深对进程的概念及进程调度算法的理解.二、实验内容1.采用“短进程优先”调度算法对五个进程进行调度。每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、到达时间、需要运行时间、已用CPU时间、进程状态等等。2.每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。三、实现思路主函数-输入函数-短作业优先调度函数-输出函数

2、。这是一条最基础的思路。输入函数使用文本导入完成数据输入,输出函数输出调度结果,主函数完成各子函数连接,最主要的是短作业优先的调度函数。我想到的方法就是排序,不断选择需要运行时间最短的作业,接着进行数据输入计算输出等,遍历全部数据并完成调度。四、主要的数据结构structProcess_struct{charname[MaxNum];//进程名称intarrivetime;//到达时间intservertime;//开始运行时间intfinishtime;//运行结束时间intruntime;//运行时间intrunflag;//调度标志intorder;//运行次

3、序doubleweightwholetime;//周转时间doubleaveragewt_FCFS,averagewt_SJF;//平均周转时间doubleaveragewwt_FCFS,averagewwt_SJF;//平均带权周转时间}pro[MaxNum];五、算法流程图运行程序看菜单,选操作0或110input()输入导入函数SJF()-第一个先到达先执行printf()输出调度结果是否完成是否运行结束SJF()-选最短作业调度六、运行与测试用书上数据对程序进行测试,结果如下:另外随便添加一些数据进行测试,结果如下:代码实现:#include

4、m>#include#defineMaxNum100usingnamespacestd;structProcess_struct{charname[MaxNum];//进程名称intarrivetime;//到达时间intservertime;//开始运行时间intfinishtime;//运行结束时间intruntime;//运行时间intrunflag;//调度标志intorder;//运行次序doubleweightwholetime;//周转时间doubleaveragewt_FCFS,averagewt_SJF;//平均周转时间dou

5、bleaveragewwt_FCFS,averagewwt_SJF;//平均带权周转时间}pro[MaxNum];intN;//实际进程个数intSJF();//短作业优先函数intSJF(){inttemp_time=0;inti=0,j;intnumber,temp_counter;//进程编号,当前已执行进程个数floatrun_time;intmin=0;run_time=pro[i].runtime;j=1;while((j

6、j].runtime>pro[i].runtime){run_time=pro[i].runtime;i=j;}j++;}for(j;jpro[j].arrivetime))//选出第一个到达的进程{min=j;i=j;j++;}}number=min;//对第一个到达的进程赋值,计算pro[number].servertime=pro[number].arrivetime;pro[number].finishtime=pro[number].servertime+pro[number]

7、.runtime;pro[number].runflag=1;temp_time=pro[number].finishtime;pro[number].order=1;temp_counter=1;while(temp_counter

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。