单道批处理系统设计一个作业调度模拟程序
- 格式:doc
- 大小:338.00 KB
- 文档页数:31
一、根据调度算法设计流程图:实验
步骤
}
}
}
三、整合完成所有程序并实现作业调度(见源代码)。
四、进行调试阶段,对程序修改优化,进行数据测试。
五、实验结果分析
六、总结
实验
WindowsXP和CV++6.0集成开发环境
环境
实验运行的初始界面:
实验结
果与分
析
测试数据:
a1 1 2 a1
a2 2 3 a2
运行结果:
进行多次循环录入:返回算法选择界面:
测试数据:
b1 2 4 b1
b2 1 3 b2
运行结果:
实验分析和总结:
1)测试的数据必须是符合JCB模块中相同类型的,如在源码中式int类型的,而在测试的时候输入float类型就出错。
2)各个库函数的运用需要掌握相应的功能,否则会照成代码冗余、繁杂、不优化等各种问题。
3)通常在dos下运用的都是英文,而想要用汉字提示就必须考虑一些问题。
在源码中我们用制表符(\t)来控制提示,输出的数字是不能与之对齐的,所以我们要将“\t”改成空格。
4)这编写和调试程序时,为了尽快调通程序应该按照流程图的结构(保证流程图思路是对的情况下)来建立编程思路。
5)此程序也借用了现有的一些代码,并且它还不是最优化的,它还可以进行改进和优化,比如:在回调函数的引用时跳到了另一个页面,见下图:
继续Enter的时候就到下一页:
而不是在同一页面。
6)总之,在编程旅途中是一个很艰辛的过程,要在这里开拓一片蓝天就必须有孜孜不倦的精神。
操作系统原理B卷1、要达到文件保密,可以()。
[单选题] *A、隐藏文件目录(正确答案)B、限制文件的使用权限C、设置存取控制表D、定时转储2、解除死锁一般采用终止进程和()两种方法。
[单选题] *A、关闭系统B、抢夺资源(正确答案)C、后退执行D、重新执行进程3、在文件系统中,要求物理块必须连续的物理文件是()。
[单选题] *A、顺序文件(正确答案)B、链接文件C、串联文件D、索引文件4、UNIX系统全部分用C语言写成,具有()。
[单选题] *A、易移植性(正确答案)B、开放性C、可扩展性D、简便性5、操作系统的功能不包括()。
[单选题] *A、CPU管理B、用户管理(正确答案)C、作业管理D、文件管理6、系统功能调用是()。
[单选题] *A、用户编写的一个子程序B、高级语言中的库程序C、操作系统中的一条命令D、操作系统向用户程序提供的接口(正确答案)7、操作系统中,并发性是指()。
[单选题] *A、若干个事件在不同时刻发生B、若干个事件在同一时刻发生C、若干个事件在同一时间间隔内发生(正确答案)D、若干个事件在不同时间间隔内发生8、批处理系统的主要缺点是()。
[单选题] *A、CPU利用率低B、不能并发执行C、缺乏交互性(正确答案)D、以上都不是9、实时操作系统必须在()内响应来自外部的事件。
[单选题] *A、响应时间B、周围时间C、规定时间(正确答案)D、调度时间10、操作系统的进程管理模块并不负责()。
[单选题] *A、进程的创建和删除B、提供死锁处理机制C、实现I/O设备调度(正确答案)D、通过共享内存实现进程间的通信11、当()时,进程从执行状态转变为就绪状态。
[单选题] *A、进程被调度程序选中B、时间片到(正确答案)C、等待某一事件D、等待的事件发生12、进程申请打印输出完成向系统发生中断后,进程的状态变化为()。
[单选题] *A、从就绪到执行B、从执行到就绪C、从等待到就绪(正确答案)D、从执行到就绪13、在进程转换中,下列()转换是不可能发生的。
2013-2014学年第一学期期中考试试题课程名称《操作系统》任课教师签名出题教师签名审题教师签名考试方式(闭)卷适用专业11级计算机各专业考试时间(110 )分钟题号一二三四五六七总分得分评卷人(注:判断题和选择题的答案写在答题纸上)一、单项选择题(每小题2分,共30分)1.批处理系统的主要缺点是。
A.CPU利用率低B.不能并发执行C.缺少交互性D.以上都不是2.进程的时间片结束后,将使进程状态从。
A.运行状态变为就绪状态B.运行状态变为等待状态C.就绪状态变为运行状态D.等待状态变为就绪状态3.判别计算机系统中是否有中断事件发生,通常应是在。
A.进程切换时B.执行完一条指令后C.执行P操作后D.由用户态转入核心态时4.在下列性质中,_____ 不是分时系统的特征。
A.多路性B.交互性C.独占性D.成批性5.操作系统提供给程序员的接口是________。
A.进程B.系统调用C.库函数D.B和C6.进程从运行状态到阻塞状态可能是由于________。
A.进程调度程序的调度B.现运行进程的时间片用完C.现运行进程执行了P操作D.现运行进程执行了V操作7.作业调度程序是从处于状态的作业中选取一个作业并把它装入主存。
A.输入B.后备C.执行D.完成8.在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于。
A.进程相应的程序段的长度B.进程总共需要运行时间多少C.进程自身和进程调度策略D.进程完成什么功能9.在多进程的并发系统中,肯定不会因竞争而产生死锁。
A.打印机B.磁带机C.磁盘D.CPU10.一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是。
A.2 B.1 C.3 D.0.511.一个进程是。
A.由协处理器执行的一个程序B.一个独立的程序C.一个独立的程序 + 数据集D.一个独立的程序 + 数据集 + PCB结构12.若信号S的初值为2,当前值为-1,则表示有_________等待进程。
操作系统概论模拟试题一一、单项选择题(每小题1分,共15分)c 1.MS-DOS的引导程序是在磁盘初始化时,由()命令写在软盘或硬盘的0柱0面1扇区上的。
A.CHKDSKB.FDISKC.FORMATD.DISKCOPY2.MS-DOS 5.0开始把()的内存区域作为基本内存区。
A.1MB与2MB之间B.1MB之后C.640KB与1MB之间D.0KB与640KB之间3.MS-DOS中的文件存储结构采用()。
A.顺序结构B.链接结构C.索引结构D.成组链接结构4.与“计算时间”无关的作业调度算法是()算法。
A.先来先服务B.响应比高者优先C.优先数D.可抢占的优先数5.实时系统中的进程调度通常采用()算法。
A.响应比高者优先B.短作业优先C.时间片轮转D.抢占式的优先数高者优先6.在可变分区存储管理中,为了实现主存的空间分配,应设置()来进行管理。
A.页表B.段表C.位示图D.空闲区表7.某系统有同类资源m个供n个进程共享,如果每个进程最多申请k个资源(1<=k<=m),则各进程的最大需求量之和()时系统不会发生死锁。
A.=mB.=m+nC.<m十nD.>m+n8.动态重定位是在()完成的。
A.作业执行前B.作业执行过程中由硬件C.作业执行过程中由OSD.作业执行过程中由用户9.Windows操作系统是由()公司研制的。
A.MicrosoftB.IntelC.HPD.SUN SYSTEM10.进程从等待状态进人就绪状态可能是由于()。
A.现运行进程运行结束B.现运行进程执行P操作C.现运行进程执行了V操作D.现运行进程时间片用完11.在以下的存储管理方案中,能扩充主存容量的是()。
A.固定式分区管理B.可变式分区管理C.页式存储管理D.分页虚拟存储管理12.UNIX文件系统对盘空间的管理采用()。
A.FAT表法B.位示图法C.空闲块链接法D.空闲块成组链接法13.通道在输人输出操作完成或出错时就形成(),等候CPU来处理。
西北农林科技大学信息工程学院实习报告课程操作系统学院信息工程专业年级软件151 学号2015012893 姓名张鑫周次第八周交报告时间2017.5.5 成绩实验二作业调度实验一. 目的要求:用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。
二、实验内容:1、编写并调试一个单道处理系统的作业等待模拟程序。
作业等待算法:分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。
流程图如下:1、响应比高者优先算法流程图:开始初始化所有的JBC,使JBC按作业提交的时间的先后顺序排队时间量times=0先计算队列中所有的作业的响应比,总是西选择响应比最高的走也作为此刻要运行的作业,并修改相应的指针,更改时间量的值不空等待队列空?空计算并打印这组作业的平均周转时间及带权平均周转时间结束2、先来先服务调度算法流程图:3、短作业优先算法调度流程图:实验代码如下:#include<stdio.h> #include<stdlib.h> #include<string.h>struct jcb{char name[10];//作业名float arrtime;//提交时间float waitTime;//等待时间float startTime;//开始时间float runTime;//运行时间float finishTime;//完成时间float TAtime; //周转时间float TAWtimei;//带权周转时间float AvgTAtime,AvgTAWtimei;//平均周转时间;平均带权周转时间 float bi;//响应比};jcb JCB[100];int ReadFile(){int m=0;int i=0;FILE *fp; //定义文件指针fp=fopen("3.txt","r"); //打开文件if(fp==NULL){printf("File open error !\n");exit(0);}else{printf("作业名提交时间运行时间\n");while(!feof(fp)){fscanf(fp,"%s%f%f",&JCB[i].name,&JCB[i].arrtime,&JCB[i].runTime); //fscanf()函数将数据读入printf("\n%s%15f%12f",JCB[i].name,JCB[i].arrtime,JCB[i].runTime); //输出到屏幕i++;}fclose(fp); //关闭文件}m=i-1;return m;}//菜单void menu(){printf("\n\n |*************** 作业调度*************|\n");printf("|======================================|\n");printf(" | 0.退出|\n");printf(" | 1.先来先服务 (FCFS) 调度算法|\n");printf(" | 2.短作业优先 (SJF) 调度算法|\n");printf(" | 3.响应比高者优先 (HRRN) 调度算法 |\n");printf("|======================================|\n");}void displayone(float p,char *h,int i,int j){strcpy(h,JCB[i].name);strcpy(JCB[i].name,JCB[j].name);strcpy(JCB[j].name,h);p=JCB[i].arrtime;JCB[i].arrtime=JCB[j].arrtime;JCB[j].arrtime=p;p=JCB[i].runTime;JCB[i].runTime=JCB[j].runTime;JCB[j].runTime=p;p=JCB[i].startTime;JCB[i].startTime=JCB[j].startTime;JCB[j].startTime=p;p=JCB[i].finishTime;JCB[i].finishTime=JCB[j].finishTime;JCB[j].finishTime=p;}void displaytow(int i,int y){printf("\n");printf("作业%s先开始运行\n\n",JCB[0].name);float AvgCycleTime,AvgValueCycleTime,k=0,m=0;//AvgCycleTime为平均周转时间,AvgValueCycleTime为平均带权周转时间for(i=0;i<y;i++){JCB[0].startTime=JCB[0].arrtime;JCB[i].finishTime=JCB[i].startTime+JCB[i].runTime;//结束时间JCB[i+1].startTime=JCB[i].finishTime;JCB[i].waitTime=JCB[i].startTime-JCB[i].arrtime;//等待时间JCB[i].TAtime=JCB[i].finishTime-JCB[i].arrtime;//周转时间 JCB[i].TAWtimei=JCB[i].TAtime/JCB[i].runTime;//带权周转时间k+=JCB[i].TAtime;m+=JCB[i].TAWtimei;}AvgCycleTime=k/y;//平均旋转时间AvgValueCycleTime=m/y;//平均带权旋转时间printf("作业名提交时间开始时间运行时间结束时间等待时间周转时间带权周转时间\n");for(i=0;i<y;i++)printf("%s\t%.2f\t%.2f\t%4.2f\t%6.2f\t%7.2f\t%7.2f\t%8.2f\n\n",JCB[i] .name,JCB[i].arrtime,JCB[i].startTime,JCB[i].runTime,JCB[i].finishTim e,JCB[i].waitTime,JCB[i].TAtime,JCB[i].TAWtimei);printf("平均周转时间为:");printf("%.2f\n\n",AvgCycleTime);printf("平均带权周转时间为:");printf("%.2f\n\n",AvgValueCycleTime);}void FCFS(int y)//先来先服务算法{float p;int i,j;char h[100];for(i=0;i<y;i++){for(j=i+1;j<y;j++){if(JCB[i].arrtime>JCB[j].arrtime){displayone(p,h,i,j);}}}displaytow(i,y);}void SJF(int y)//短作业优先算法{float p;int i,j;char h[100];for(i=0;i<y;i++)//先提交的作业先运行,后面来的作业再比较运行时间长短{for(j=i+1;j<y;j++){if(JCB[i].arrtime>JCB[j].arrtime)//先把作业按提交时间来排序{displayone(p,h,i,j);}}}for(i=1;i<y;i++){for(j=i+1;j<y;j++){if(JCB[i].runTime>JCB[j].runTime)//比较后面来的作业的运行时间{displayone(p,h,i,j);}}}displaytow(i,y);}void HRRN(int y)//响应比高者优先算法{int i,j;float p;char h[100];for(i=0;i<y;i++)//先提交的作业先运行,后面来的作业再比较响应比的大小{for(j=i+1;j<y;j++){if(JCB[i].arrtime>JCB[j].arrtime)//先把作业按提交时间来排序{displayone(p,h,i,j);}}}for(i=0;i<y;i++){JCB[0].startTime=JCB[0].arrtime;JCB[i].finishTime=JCB[i].startTime+JCB[i].runTime;//结束时间JCB[i+1].startTime=JCB[i].finishTime;JCB[i].waitTime=JCB[i].startTime-JCB[i].arrtime;//等待时间JCB[i].TAtime=JCB[i].finishTime-JCB[i].arrtime;//周转时间 JCB[i].bi=JCB[i].TAtime/JCB[i].runTime;//响应比}for(i=1;i<y;i++){for(j=i+1;j<y;j++){if(JCB[i].bi<JCB[j].bi)//比较后面来的作业的响应比{displayone(p,h,i,j);p=JCB[i].bi;JCB[i].bi=JCB[j].bi;JCB[j].bi=p;}}}displaytow(i,y);for(i=1;i<y;i++){printf("%s的响应比为:%.2f\n",JCB[i].name,JCB[i].bi);}}int main(){while(1){int i,x,n;menu();loop1:printf("请选择模块(0~3): ");scanf("%d",&i);if(i==0){exit(0);}elseif(i<=0||i>3){printf("输入有误,请重新输入\n");goto loop1;//无条件转移语句}loop2:printf("原始数据是:\n");n=ReadFile();for(x=0;x<n;x++){printf("\n%s%15f%12f",JCB[i].name,JCB[i].arrtime,JCB[i].runTime);}switch(i){case 0:exit(0);break;case 1:FCFS(n);break;case 2:SJF(n);break;case 3:HRRN(n);break;}}}实验截图说明如下:这是先来先服务算法调度这是最短优先作业调度算法结果这是响应比高者优先调度算法结果2、编写并调度一个多道程序系统的作业调度模拟程序。
计算机学院计算机科学与技术专业07班姓名 ___ 学号—教师评定_____________________实验题目 __________________ 作业调度______________________一、实验目的本实验要求学生模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解。
二、实验内容和要求1、为单道批处理系统设计一个作业调度程序(1) 、编写并调试一个单道处理系统的作业调度模拟程序。
(2) 、作业调度算法:分别采用先来先服务( FCFS),最短作业优先(SJF)的调度算法。
(3) 、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的CPU时限等因素。
(4) 、每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。
作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。
每个作业的最初状态总是等待W。
(5) 、对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,并比较各种算法的优缺点。
2、模拟批处理多道操作系统的作业调度(1)写并调试一个作业调度模拟程序。
(2)作业调度算法:分别采用先来服务( FCFS)调度算法。
(3 )在批处理系统中,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求,所需要的资源是否得到满足。
作业调度程序负责从输入井选择若干个作业进入主存,为它们分配必要的资源,当它们能够被进程调度选中时,就可占用处理机运行。
作业调度选择一个作业的必要条件是系统中现有的尚未分配的资源可满足该作业的资源要求。
但有时系统中现有的尚未分配的资源既可满足某个作业的要求也可满足其它一些作业要求,那么,作业调度必须按一定的算法在这些作业中作出选择。
2022年西安工业大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、通常对文件系统来说,文件名及属性可以集中在()中以使查询。
A.目录B.索引C.字典D.作业控制块2、下列选项中,不能改善磁盘设备I/O性能的是()。
A.重排I/O请求次序B.在一个磁盘上设置多个分区C.预读和滞后写D.优化文件物理的分布3、关于临界问题的一个算法(假设只有进程P0和P1,能会进入临界区)如下(i为0或1代表进程P0或者P1):Repeatretry:if(turn!=-1)turn=i;if(turn!=i)go to retry;turn=-1;临界区:turn=0;其他区域;until false;该算法()。
A.不能保持进程互斥进入临界区,且会出现“饥饿”B.不能保持进程互斥进入临界区,但不会出现“饥饿”C.保证进程互斥进入临界区,但会出现“饥饿”D.保证进程互斥进入临界区,不会出现“饥饿”4、下面有关选择进程调度算法的准则,错误的是()A.尽量提高处理器利用率B.尽可能提高系统吞吐量C.适当增长进程在就绪队列中的等待时间D.尽快响应交互式用户的要求5、下列关于银行家算法的叙述中,正确的是()A.银行家算法可以预防死锁B.当系统处于安全状态时,系统中…定无死锁进程C.当系统处于不安全状态时,系统中一定会出现死锁进程D.银行家算法破坏了产生死锁的必要条件中的“请求和保持”条件6、()存储管理方式提供一维地址结构。
A.分段B.分页C.分段和段页式D.以上都不对7、在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是()。
A.可变分配,全局置换B.可变分配,局部置换C.固定分配,全局置换D.固定分配,局部置换8、下列选项中,不是操作系统关心的主要问题的是()。
A.管理计算机裸机B.设计、提供用户程序与计算机及计算机硬件系统的接口C.管理计算机中的信息资源D.高级程序设计语言的编译9、下列关于批处理系统的叙述中,正确的是()I.批处理系统允许多个用户与计算机直接交互II.批处理系统分为单道批处理系统和多道批处理系统III.中断技术使得多道批处理系统的1/O设备可与CPU并行工作A.仅II、IIIB.仅IIC.仅I、IID. 仅I、III10、在某页式存储管理系统中,页表内容见表。
操作系统第2阶段试题操作系统第2阶段试题————————————————————————————————作者:————————————————————————————————日期:21江南大学现代远程教育第二阶段练习题考试科目:《操作系统》第5章至第7章(总分100分)______________学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一、名词解释(12分)1、死锁2、逻辑地址3、物理地址4、地址重定位二、试举例说明死锁?(6分)三、采用静态资源分配预防死锁时,有哪些缺点?(6分)四、有序资源分配法破坏的是产生死锁必要条件中的什么条件?(5分)五、作业调度和进程调度的任务各是什么?(6分)六、进程调度的时机有哪几种?(5分)七、为什么要进行逻辑地址到物理地址的转换?(6分)八、某系统的进程状态变迁图如图所示(该系统的进程调度方式为非剥夺方式),请说明:(20分)(1)一个进程发生变迁3的原因是什么?发生变迁2、变迁4的原因又是什么?(2)下述因果变迁是否会发生,如果有可能的话,在什么情况下发生?(3)(a )2→1;(b )3→2;(c )4→5;(d )4→2;(e )3→5 (4)根据此状态变迁图叙述该系统的调度策略、调度效果。
九、在单道批处理系统中,有下列三个作业用先来先服务调度算法和最短作业优先调度算法运行高优先就绪因I/O 而等待低优先就绪213452进行调度,哪一种算法调度性能好些?请完成下表中未填写的各项。
(8分)十、分区分配方法中的主要缺点是什么?如何克服这一缺点?(6分)十一、如图,主存中有两个空白区,现有这样一个作业序列:作业1 要求50KB 作业2 要求60KB 作业3 要求70KB若用首次适应算法和最佳适应算法来处理这个作业序列,试问哪一种算法可以分配得下,为什么?(10分)十二、选择填空题(10分)1、死锁的四个必要条件是__________、不剥夺条件、__________和环路条件。
操作系统批处理系统作业调度实验报告批处理系统的作业调度实验报告年级 2009级学号 2009443004 姓名郭占强成绩专业生物信息学实验地点生科楼409 指导教师王硕实验项目批处理系统的作业调度实验日期 2011年11月18日一、实验目的加深对作业概念的理解;深入了解批处理系统如何组织作业、管理作业和调度作业。
二、实验要求编写程序完成批处理系统中的作业调度,要求采用响应比高者优先的作业调度算法。
实验具体包括:首先确定作业控制块的内容,作业控制块的组成方式;然后完成作业调度;最后编写主函数对所作工作进程测试。
三、实验原理:操作系统根据允许并行工作的道数和一定的算法从系统中选取若干作业把它们装入主存储器,使它们有机会获得处理器运行。
四、实验程序设计#include "string.h"#include<iostream.h>#include<stdio.h>#define n 10 /*假定系统中可容纳的作业数量为n*/typedef struct jcb{char name[4]; /*作业名*/int length; /*作业长度,所需主存大小*/int printer; /*作业执行所需打印机的数量*/int tape; /*作业执行所需磁带机的数量*/int runtime; /*作业估计执行时间*/int waittime; /*作业在系统中的等待时间*/int next; /*指向下一个作业控制块的指针*/}JCB; /*作业控制块类型定义*/int head; /*作业队列头指针定义*/int tape,printer;long memory;JCB jobtable[n]; /*作业表*/int jobcount=0; /*系统内现有作业数量*/shedule( )- 1 -/*作业调度函数*/{float xk,k;int p,q,s,t;do{p=head;q=s=-1;k=0;while(p!=-1){ if(jobtable[p].length<=memory&&jobtable[p].tape<=tape&&jobtable[p] .printer<=printer){ /*系统可用资源是否满足作业需求*/xk=(float)(jobtable[p].waittime)/jobtable[p].runtime;if(q==0||xk>k) /*满足条件的第一个作业或者作业q的响应比小于作业p的响应比*/{k=xk; /*记录响应比*/q=p;t=s;}/*if*/}/*if*/s=p;p=jobtable[p].next; /*指针p后移*/}/*while*/if(q!=-1){ if(t==-1) /*是作业队列的第一个*/head=jobtable[head].next;elsejobtable[t].next=jobtable[q].next;/*为作业q分配资源:分配主存空间;分配磁带机;分配打印机*/memory=memory-jobtable[q].length;tape=tape-jobtable[q].tape;printer=printer-jobtable[q].printer;printf("选中作业的作业名:%s\n",jobtable[q].name);}}while(q!=-1);}/*作业调度函数结束*/main( ){char name[4];int size,tcount,pcount,wtime,rtime;int p;/*系统数据初始化*/memory=65536;tape=4;printer=2;head=-1;printf("输入作业相关数据(以作业大小为负数停止输入):\n");/*输入数据,建立作业队列*/- 2 -printf("输入作业名、作业大小、磁带机数、打印机数、等待时间、估计执行时间\n");scanf("%s%d%d %d %d %d",name,&size,&tcount,&pcount,&wtime,&rtime);while(size!=-1){/*创建JCB*/if(jobcount<n)p=jobcount;else { printf("无法再创建作业\n");break;}jobcount++;/*填写该作业相关内容*/strcpy(jobtable[p].name,name);jobtable[p].length=size;jobtable[p].printer=pcount;jobtable[p].tape=tcount;jobtable[p].runtime=rtime;jobtable[p].waittime=wtime;/*挂入作业队列队首*/jobtable[p].next=head;head=p;/* 输入一个作业数据*/printf("输入作业名、作业大小、磁带机数、打印机数、等待时间、估计执行时间\n");scanf("%s%d%d%d%d%d",name,&size,&tcount,&pcount,&wtime,&rtime);}/*while*/shedule( ); /*进行作业调度*/}/*main( )函数结束*/五、实验结果与分析1. 本程序采用响应比高者优先算法进行作业调度。