欢迎来到天天文库
浏览记录
ID:41683536
大小:322.35 KB
页数:20页
时间:2019-08-29
《操作系统作业调度实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二作业调度—、实验题目:1、单道批处理系统的作业调度模拟程序。2、编写采用先来先服务算法多道批处理系统的作业调度模拟程序。二、实验目的:通过对单道批处理系统的作业调度和采用先来先服务算法多道批处理系统作业调度的模拟,进一步理解作业调度的过程,加深对单道和多道的作业运行状态和作业调度过程、调度算法的理解。三、实验设备及环境:1、硕件设备:PC机一台2、软件环境:安装Windows操作系统或者Linux操作系统,并安装相关的程序开发环境,如CC++Java等编程语言环境。四、实验内容及要求:1、单道批
2、处理系统作业调度(1)由于在单道批处理系统中,作业一旦投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的CPU时限等因素。(2)每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名name、作业大小size、所需的运行时间ntime、作业已运行时间rtime^所需的资源machine^作业状态state等。作业指针link,用来将JCB表排成队列。作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态
3、之一。每个作业的最初状态总是等待W状态。(3)对每种调度算法都要求显示每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间。2、采用先来先服务算法多道批处理系统的作业调度(1)采用多道程序设计方法的操作系统,在系统中要经常保留多个运行的作业,以提高系统效率。作业调度从系统已接纳的暂存在输入井中的一批作业中挑选11!若干个可运行的作业,并为这些被选中的作业分配所需的系统资源。对被选中运行的作业必须按照它们各自的作业说明书规定的步骤进行控制。(2)批处理作业调度
4、程序负责从输入井屮选择若干个作业进入主存,为它们分配必要的资源,当它们能够被进程调度选中时,就可占用处理器运行。作业调度选择一个作业的必要条件是系统中现有的尚未分配的资源可满足该作业的资源要求。但有吋系统中现有的尚未分配的资源既可满足某个作业的要求也可满足其它一些作业的要求,那么,作业调度必须按一定的算法在这些作业中做出选择。先來先服务算法是按照作业进入输入井的先后次序來挑选作业,先进入输入井的作业优先被挑选,当系统中现有的尚未分配的资源不能满足先进入输入井的作业时,那么顺序挑选后面的作业。(3)假定某系
5、统可供用户使用的主存空间共100K,并有5台磁带机。(4)多道批处理系统中JCB表示同单道批处理系统相同。3、为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示岀來,包括正在运行的进程,处于就绪队列屮的进程和处于阻塞队列屮的进程。4、分析程序运行的结果,谈一下自己的认识。五、实现程序流程图及源代码1、算法流程图(1)单道批处理系统中作业调度按:先来先服务算法实现流程;最短作业优先算法;高响应比算法流程图:(2)采用先来先服务算法多道批处理系统的作业流程图2、主要的常量变量(1)单道批处
6、理系统作业调度常量、变量intn;floatT1二0,T2二0;inttimes二0;structjcb{charname[10];intreachtime;intstarttime;intneedtime;floatsuper;intfinishtime;floatcycletime;floatcltime;charstate;structjcb*next;}*ready二NULL,*p,*q;//作业控制块//////////乍业名乍业到达时间乍业开始时间乍业需要运行的时间乍业的响应比//作
7、业完成时间//作业周转时间〃作业带权周转时间//作业状态〃结构体指针(1)voidvoidvoidvoidvoidvoidvoidvoidvoid(2)voidvoidvoidvoidvoidvoidvoidvoidrunmsuper()final()hrn(intm)sjf(intm)fcfs(intm)多道批处理系统作业调度模块inize()well()sort()〃初始化界面函数//对进入计算机的所有作业按从大到小的顺序排队//内存中运行完一次的作业插到队尾typedefstructjcbJCB;(
8、2)多道批处理系统作业调度常量、变量#definegetpch(type)(type*)malloc(sizeof(type))//宏定义变量type^definearea100/7宏是义内存空间总大小^definesuminachine5//宏定义内存磁带数总数^defineNULL0structpcb//定义结构体pcb{intjobs;//进入计算机作业总数intjobnum;//进入内存作业数量intwe11num;/
此文档下载收益归作者所有