预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
设计题目作业调度算法模拟小组合作小组成员张越男实验目的:用高级语言编写和调试单道环境下的作业调度的模拟程序,以加深对作业调度的理解。单道环境的特点是被调度的作业占有所有资源。在完成了单道环境的作业调度后,有余力的同学可以完成多道环境下的作业调度,多道的特点是:内存中可以同时存在一道以上的进程,所有进程共享系统资源,这样作业调度过程中还要考虑资源分配情况。通过两种环境下作业调度的模拟,比较两种环境下作业调度的异同,从而达到理解作业调度的功能。实验要求:复习作业调度的各种算法的思路;认真完成实验内容,并对代码进行测试;完成实验报告,并于17周周三之前由学习委员按学号整理好提交给任课教师。实验报告要求:实验目的;源程序并附注释;对测试结果进行截图;软硬件环境:电脑,配置Vc++6。0等软件环境实验内容:为单道批处理系统设计一个作业调度程序,由于单道批处理系统中,作业一投入运行,它就占有计算机的一切资源知道作业完成为止,因此调度作业时不必考虑它所有的资源是否得到满足,它所占用的CPU时限等因素。作业调度算法:①先来先服务调度算法(FCFS);短作业优先算法;最高响应比调度算法;最高优先级调度算法;输入:每个作业包括数据项,作业调度所需要的数据项:作业名、提交时间、运行时间等。输出:要求打印每个作业完成后该作业的开始运行时间、完成时间、周转时间和平均周转时间。【源程序】#include<iostream>usingnamespacestd;structjob{charname[20];intsubtime;intruntime;intstime;intftime;intztime;intwtime;doubledtime;doublerratio;};intflag=0;doublesumztime,sumdtime;doubleavgztime,avgdtime;voidinput(job*p,intn);voidoutput(job*p,intn);voiddatahandle(job*p,intn);voidsort(job*p,intn);voidfcfs(job*p,intn);voidsjf(job*p,intn);voidhrf(job*p,intn);//作业名//提交时间//运行时间//开始时间//完成时间//周转时间//等待时间//带权周转时间//响应比〃输入//输出//数据处理//按提交时间排序//先来先服务//短作业优先//最高响应比intmain(){intn;cout〈〈endl;cout〈<”/********计算机操作系统综合实验********/”〈〈endl;cout〈<”/***********作业调度算法模拟***********/"<<endl;cout<〈”/********************************/”<<endl;cout〈〈”/************2012年12月18日**********/"<〈endl;cout<<”输入作业数目:”;cin>>n;job*a=newjob[n];input(a,n);fcfs(a,n);cout〈〈”\n”;sjf(a,n);cout〈<”\n";hrf(a,n);deletea;return0;}voidinput(job*p,intn){cout<<”请输入作业信息:"〈<endl<〈endl;for(inti=0;i<n;i++){cout<<"作业名:”;cin〉>p[i]。name;cout<〈”提交时间:”;cin〉>p[i].subtime;p[i].subtime=(p[i].subtime)/1*60+p[i]osubtime%1;cout<〈”运行时间:";cin〉>p[i]oruntime;p[i]oruntime=(p[i]oruntime)/1*60+p[i].runtime%1;cout〈〈”\n”;}}voidoutput(job*p,intn){cout<<"作业调度顺序:";for(intk=0;k〈n;k++){cout<〈p[k].name〈〈"”;}cout〈〈"\n";cout<<”name\t"<〈”subtime\t"<<"runtime\t”<<”stime\t”〈〈"ftime\t"<〈''ztime\t"<<"dtime\t''<〈endl;for(inti=0;i<n;i++){cout〈<p[i].name〈<"\t”〈<p[i]osubtime/6