欢迎来到天天文库
浏览记录
ID:14175846
大小:356.50 KB
页数:12页
时间:2018-07-26
《作业调度(算法(c语言版))》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、作业调度算法设计思路:1.每个进程有一个作业控制块(JCB)表示。进程控制块包含如下信息:作业号、作业到达时间、作业要求服务时间、等待时间、开始运行时间、结束运行时间、周转时间、带权周转时间、优先权和是否已经完成;2.设置一个作业数量num;3.由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的CPU时限等因素;4.分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法对
2、输入进程进行调度;5.先来先服务(FCFS)对先来的作业优先处理;6.最短作业优先(SJF)对已就绪作业进行短程序优先服务;7.响应比=(等待时间+需要服务时间)/需要服务时间,响应比高者优先(HRN)是对已就绪作业进行响应比高者优先服务,以免一些程序长时间不能被执行;8.对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。作业调度算法设计思路:1.每个进程有一个作业控制块(JCB)表示。进程控制块包
3、含如下信息:作业号、作业到达时间、作业要求服务时间、等待时间、开始运行时间、结束运行时间、周转时间、带权周转时间、优先权和是否已经完成;2.设置一个作业数量num;3.由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的CPU时限等因素;4.分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法对输入进程进行调度;5.先来先服务(FCFS)对先来的作业优先处理;6.最短作业
4、优先(SJF)对已就绪作业进行短程序优先服务;7.响应比=(等待时间+需要服务时间)/需要服务时间,响应比高者优先(HRN)是对已就绪作业进行响应比高者优先服务,以免一些程序长时间不能被执行;8.对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。#include#include#include/*conio.h是一个包含一些字符处理函数的头文件
5、,如getch(),getch()是无显示的从键盘接收一个字符,有显示的接收是getchar()*/typedefcharstring[10];/*//定义string为含有10个字符元素的字符数组类型*/structtask{stringname;/*作业号*/intarrTime;/*作业到达时间*/intserTime;/*作业要求服务时间*/intwaiTime;/*等待时间*/intbegTime;/*开始运行时间*/intfinTime;/*结束运行时间*/intturTime;/*周
6、转时间*/intwTuTime;/*带权周转时间*/intpriority;/*优先权*/intfinish;/*是否已经完成*/}JCB[5];intnum;voidinput(){inti;system("cls");printf("Pleaseinputtasknumber:");scanf("%d",&num);for(i=0;i7、"%s",JCB[i].name);printf("Thetimearrive:");scanf("%d",&JCB[i].arrTime);printf("Thetimeneed:");scanf("%d",&JCB[i].serTime);JCB[i].priority=0;JCB[i].finish=0;}}intFCFS(){intcurrent;inti,j;for(i=0;i8、reak;}}for(j=i;j
7、"%s",JCB[i].name);printf("Thetimearrive:");scanf("%d",&JCB[i].arrTime);printf("Thetimeneed:");scanf("%d",&JCB[i].serTime);JCB[i].priority=0;JCB[i].finish=0;}}intFCFS(){intcurrent;inti,j;for(i=0;i8、reak;}}for(j=i;j
8、reak;}}for(j=i;j
此文档下载收益归作者所有