欢迎来到天天文库
浏览记录
ID:41648053
大小:105.19 KB
页数:12页
时间:2019-08-29
《实验三进程调度实验指导》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验三作业(进程)调度实验指导实验目的与要求本实验的H的是通过作业或进程调度算法模拟设计,进一步加深对作业或进程调度算法的理解,通过计算平均周转时间和带权平均周转时间,进一步加深对算法的评价方法的理解。实验预备内容(1)学握作业或进程调度算法。(2)平均周转吋间和帯权平均周转吋间计算。实验内容设定一组作业或进程,给定相关参数,对这组进程或作业按调度算法实施调度,输出调度次序,并计算平均周转时间和带权平均周转时间。使用的调度算法有:①先来先服务调度算法。②优先级调度算法。③短作业(或进程)优先调度算法。④响应比
2、高优先调度算法使用的主要数据结构:1.定义一个结构体,结构体的主要成员有:序号、作业(进程)号或名称、提交时间、运行时间、优先数、进入输入井时间、开始运行时间、尚需运行时间、运行结朿时间、周转时间、带权周转时间、运行次序等。2.利用定义的结构体,定义一个结构体数组,用來记录系统中的作业或进程。算法描述:1.主控程序算法描述进程(作业)参数输入重复执行选择调度算法01234退出程序调用先来先服务调度程序调用优先级调度程序调用短作业Git程)调度程序调用响应比局者优先调度程序输出调度结果2・数据输入算法输入进程或
3、作业个数对每一个进程或作业输入进程或作业名输入进程或作业号输入进程或作业到达时间输入进程或作业运行时间输入进程或作业优先级1.数据输出算法对每个作业执行输出进程(或作业)号、进程(或作业)名、到达时间、开始运行吋间、运行结束时间、优先级、运行次序、周转时间、带权周转时间计算并输出平均周转时间、带权周转吋间2.先来先服务调度算法描述系统中有未运行的作业在耒运行的作业中选择一个提交时间最早的作业把运行次序填入数组相应位置;分别计算出该作业进入输入井时间、开始运行时间、运行结束时间、周转时间、带权周转时间,并填入数
4、组相应位置。调用输出程序输出结果先來先服务调度算法5.优先级调度算法系统中有未运行的作业在未运行的作业中选择一个优先级最高的作业把运行次序填入数组相应位置;分别计算出该作业进入输入井时间、开始运行时间、运行结束时间、周转时间、带权周转时间,并填入数组相应位置。调用数据输出程序输出结果PminG该作业的优先数(当前最小的)该作业的在数组中的卜•标优先级调度算法6.短作业(或进程)优先调度算法作业的优先数//Pnim比輕犬小Pmin^-该作业的优先数该作业的在数组中的下标冇未运行的作业优先级最高作业的选择算法系统
5、中有未运行的作业有未运行的作业在未运行的作业屮选择运行时间最短的作业把运行次序填入数组相应位置;分别计算出该作业进入输入井时间、开始运行时间、运行结束时间、周转时间、带权周转时间,并埴入数组相应位置。Rmin^该作业的运行时间(当前最短的)该作业的在数组中的下标调用输出程序,输出结果短作业(或进程)优先调度算法Rmin<-该作业的运行时间该作业的在数组中的下标选择运行时间最短作业的算法7.轮转调度算法系统中存在未运行完的作业记录开始时间首次运行一^-^一—记录开始运行时间计算尚需运行时间计算运行结束时间计算周
6、转时间记录结束次序计算平均周转时间输出结果轮转调度算法8•响应比高优先调度算法系统中有未运行的作业在未运行的作业屮选择一个响应比最高的作业运行(响应比相同按先來先服务进行选择)把运行次序填入数组相应位趕;分别计算出该作业进入输入井时间、开始运行时间、运行结束时间、周转时间、带权周转时间,并填入数组札I应位置。调用数据输出程序输出结果响应比高优先调度算法用C语言程序实现如下:#include#include#defineMAX10structtask_struct{intn
7、umber;/*进程编号*/charname[10];/*进程名称*/floatcome_time;/*到达时间*/floatrun_begin_time;/*开始运行时间*/floatrun_tirne/*运行时间*/floatrun_end_time;/*运彳了结束吋间*/intpriority;/*优先级*/intorder;/*运行次序*/intfun_flag;/*调度标志*/}tasks[MAX];intcounter;/*实际进程个数*/intfcfs();/*先来先服务*/intrr();/*
8、轮转调度*/intps();/*优先级调度*//*intmlqs();/*分级伦转调度*/*//*intmlfqs();/*分级反馈轮转调度*/*/intsjf();/*短作业优先*/inthrrn();/*响应比高优先*/intpinput();/*进程参数输入*/intpoutput();/*调度结果输出*/voidmain(){intoption;pinput();while(l){print
此文档下载收益归作者所有