单道批处理系统设计一个作业调度模拟程序

合集下载

作业调度实验报告

作业调度实验报告

一、根据调度算法设计流程图:实验
步骤
}
}
}
三、整合完成所有程序并实现作业调度(见源代码)。

四、进行调试阶段,对程序修改优化,进行数据测试。

五、实验结果分析
六、总结
实验
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卷

操作系统原理B卷

操作系统原理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、编写并调度一个多道程序系统的作业调度模拟程序。

【VIP专享】《操作系统》复习题(2013.12.24,题上有答案)

【VIP专享】《操作系统》复习题(2013.12.24,题上有答案)
4、进程互斥是进程同步的一种特殊情况。√
5、在处理死锁的 4 种方法中,预防策略是不允许死锁出现的,而其他 3 种方法都是允许的。为预防死锁,系统必须 使至少产生死锁的 4 个必要条件之一不成立,例如银行家算法就是预防死锁最具代表性的一个算法。
6、若系统内只有一个进程,则不会产生死锁现象。√
7.作业是指计算机CPU 在某段时间内所运行的一组指令。 8.多道程序执行环境意味着有多个不同的操作系统同时管理计算机。 9.存储在外存中的代码称为程序,而存储在内存中的代码称为进程。
15. 下面所列的进程的 3 种基本状态之间的转换不正确的是____________。
A、就绪状态→执行状态 B、执行状态→就绪状态 C、执行状态→阻塞状态 D、就绪状态→阻塞状态
6.培养学生观察、思考、对比及分析综合的能力。过程与方法1.通过观察蚯蚓教的学实难验点,线培形养动观物察和能环力节和动实物验的能主力要;特2征.通。过教对学观方察法到与的教现学象手分段析观与察讨法论、,实对验线法形、动分物组和讨环论节法动教特学征准的备概多括媒,体继课续件培、养活分蚯析蚓、、归硬纳纸、板综、合平的面思玻维璃能、力镊。子情、感烧态杯度、价水值教观1和.通过学理解的蛔1虫.过观适1、察于程3观阅 六蛔寄.内列察读 、虫生出蚯材 让标容生常3根蚓料 学本教活.见了 据身: 生,师的2的、解 问体巩鸟 总看活形线作 用蛔 题的固类 结雌动态形业 手虫 自形练与 本雄学、三动: 摸对 学状习人 节蛔生结、4物、收 一人 后和同类 课虫活构请一并蚯集 摸体 回颜步关 重的动、学、归蚓鸟 蚯的 答色学系 点形教生生让纳在类 蚓危 问。习从 并状学理列学线平的害 题蚯四线人 归、意特出四生形面生 体以蚓、形类 纳大图点常、五观动玻存 表及的鸟请动文 本小引以见引、察物璃现 ,预身类 3学物明 节有言及的导 、巩蚯的上状 是防体之生和历 课什根蚯环学 怎固蚓主和, 干感是所列环史 学么据蚓节二生 样练引要牛鸟 燥染否以举节揭 到不上适动、回 区习导特皮类 还的分分蚯动晓 的同节于物让答 分。学征纸减 是方节布蚓物起 一,课穴并学课 蚯生。上少 湿法?广的教, 些体所居归在生前 蚓回4运的 润;泛益学鸟色生纳.靠物完问 的答蛔动原 的4,处目类 习和活环.近在成题 前蚯虫的因 ?了以。标就 生体的节身其实并 端蚓寄快及 触解上知同 物表内特动体结验总 和的生利慢我 摸蚯适识人 学有容点物前构并结 后生在用一国 蚯蚓于与类 的什,的端中思线 端活人问样的 蚓飞技有 基么引进主的的考形 ?环体题吗十生行能着 本特出要几变以动境,?大 节活的1密 方征本“特节化下物.并会让为珍 近习形理切 法。课生征有以问的引小学什稀 腹性态解的 。2课物。什游题主.出起结生么鸟 面和结蛔关观题体么戏:要蚯哪利明?类 处适构虫系察:的特的特蚓些用确等 ,于特适。蛔章形殊形征这疾板,资 是穴点于可虫我态结式。种病书生料 光居是寄的们结构,五典?小物, 滑生重生鸟内学构,学、型5结的以 还活要生类部习与.其习巩的如鸟结爱 是的原活生结了功颜消固线何类构鸟 粗形因的存构腔能色化练形预适特护 糙态之结的,肠相是系习动防于点鸟 ?、一构现你动适否统。物蛔飞都为结。和状认物应与的。虫行是主构课生却为和”其结病的与题、本理不蛔扁的他构?特环以生8特乐虫形观部特8三征境小理页点观的动位点、梳相组等这;,哪物教相,引理适为方些2鸟,育同师.导知应单面鸟掌类结了;?生学识的位你握日构解2互.生。办特认线益特了通动观手征识形减点它过,察抄;吗动少是们理生蛔报5?物,与的解.参虫一了它和有寄主蛔与结份解们环些生要虫其构。蚯都节已生特对中。爱蚓会动经活征人培鸟与飞物灭相。类养护人吗的绝适这造兴鸟类?主或应节成趣的为要濒的课情关什特临?就危感系么征灭来害教;?;绝学,育,习使。我比学们它生可们理以更解做高养些等成什的良么两好。类卫动生物习。惯根的据重学要生意回义答;的3.情通况过,了给解出蚯课蚓课与题人。类回的答关:系线,形进动行物生和命环科节学动价环值节观动的物教一育、。根教据学蛔重虫点病1.引蛔出虫蛔适虫于这寄种生典生型活的线结形构动和物生。理二特、点设;置2.问蚯题蚓让的学生生活思习考性预和习适。于穴居生活的形态、结构、生理等方面的特征;3.线形动物和环节动物的主要特征。

操作系统作业调度实验报告 多道批处理

操作系统作业调度实验报告 多道批处理

计算机学院计算机科学与技术专业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(有答案)

2022年西安工业大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)

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、在某页式存储管理系统中,页表内容见表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单道批处理系统设计一个作业调度模拟程序
————————————————————————————————作者:
————————————————————————————————日期:
操作系统
课程设计说明书
题目:为单道批处理系统设计一个作业调度模拟程序
院系:计算机科学与工程学院
专业班级:计算机
学号:
学生姓名:
4.代码实现ﻩ8
4.1高响应比算法8
4.2最短作业优先算法8
4.3先来先服务算法ﻩ9
5.运行结果与分析ﻩ11
5.2选择先来先服务算法进行作业调度11
5.3选择最短作业优先算法进行作业调度ﻩ12
5.4选择高响应比优先算法进行作业调度13
7.附录ﻩ16
参考文献ﻩ
1.需求分析
1.1问题描述
为单道批处理系统设计一个作业调度模拟程序。
关键词:作业调度,先来先服务(FCFS),最短作业优先(SJF),响应比高者优先(HRN)
目 录
1.需求分析1
1.2功能分析及描述ﻩ1
1.3开发语言选择1
2.概要设计ﻩ2
2.2功能模块的描述ﻩ2
2.3功能模块结构图示ﻩ2
3.1作业控制块JCB的数据结构类型4
3.2先来先服务算法设计ﻩ4
3.4响应比高者优先算法设计ﻩ6
图2-1作业调度模拟程序系统功能结构图
2.2功能模块的描述
各模块的功能介绍如下:
(1)建立作业:输入作业数,建立一组作业,并对所建立的这组作业进行初始化,用以模拟作业调度。初始化的内容包括作业名,作业要求运行的时间,其中,作业进入系统的时间由系统默认设置。
(2)选择作业:程序通过先来先服务调度算法、短作业优先调度算法和高响应比优先调度算法对建立的一组作业进行选择,决定把哪个作业从外存调入内存中。
应将哪些作业从外存调入内存,取决于所采用的调度算法。最简单的是先来先服务调度算法,这是指讲最早进入外存的作业最先调入内存;较常用的一种是短作业优先调度算法,这是将外存上最短的作业最先调入内存;此外,还有基于响应比高者优先的调度算法,根据作业的等待时间和要求服务时间的和与要求服务时间之比可计算出响应比。
指导教师:
计算机科学与工程学院计算机科学与技术系
学 号
学生姓名
专业(班级)
计算机09-3班
设计题目
为单道批处理系统设计一个作业调度模拟程序






使用MicrosoftVisual C++ 6.0编辑器编写,利用c语言开发的基于单道批处理系统的一个作业调度模拟程序,完成该课程设计需要掌握先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。
(3)运行作业:根据初始化中设置的作业要求运行时间来模拟作业的运行。
(4)计算:作业完成计算作业周转时间和带权周转时间,以及这组作业的平均周转时间和带权平均周转时间。
(5)显示结果:将计算所得的结果输出。
(6)退出程序:当实验结束,不再需要模拟作业调度的时候,用来退出程序。
2.3功能模块结构图示
作业调度模拟程序的系统功能结构如图2-1所示。
1.3开发语言选择
本课程设计采用C语言实现。
2.概要设计
2.1功能模块划分
根据功能描述,单道批处理程序作业调度的模拟程序要求实现如下功能:建立作业、选择作业、运行作业、计算作业周转时间和带权周转时间,以及这组作业的平均周转时间和带权平均周转时间、显示运行结果(包括每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间等)、退出程序。




作业调度算法分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。



1.源代码程序不少于400行
2.附有各种图示4张
3.课程设计任务书不少于3500字




1.10月23日-10月28日:查询相关资料,初步确定课程设计的语言,进一步明确其所要实现的功能
2.10月29日-11月10日:根据所学知识及搜集的相关信息进行概要设计
3.11月11日-11月25日:进行详细设计,完成相应源代码的编写
4.11月26日-12月2日:对源代码进行调试、运行
指导教师评语:
成绩:
指导教师:
年月日
安徽理工大学课程设计(论文)成绩评定表
摘要
本次课程设计要求用高级语言编写和调试一个单道批处理系统的作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解。作业调度算法分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。
[4]谭浩强. C程序设计.第四版.北京:清华大学出版社,2010.06
[5]王敬华,林萍,张清国等.C语言程序设计教程.第二版.北京:清华大学出版社,2009.10
指导教师签字
系主任签字
2011年9月26日
学生姓名:学号:专业班级:计算机09-3班
设计题目:为单道批处理系统设计一个作业调度模拟程序
5.12月3日-12月10日:完善课程设计说明书并提交

考资Biblioteka 料[1]梁小丹,梁红兵,哲凤屏,汤子赢.计算机操作系统.第三版.西安:西安电子科技大学出版社,2007.2
[2]袁捷、沈俊、袁晴晴.计算机操作系统基础与应用.第二版.北京:清华大学出版社,2009.07
[3]杨振山、龚培增.计算机操作系统教程.第三版.北京:清华大学出版社, 2007.9
作业调度算法分别采用先来先服务(FCFS),最短作业优先(SJF)、响应
比高者优先(HRN)的调度算法。对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。
1.2功能分析及描述
在批处理系统中,作业进入系统后,先驻留在外存上,通过作业调度算法,将它们分批装入内存。作业调度程序用于决定把外存上处于后备队列中的哪些作业调入内存,并为他们创建进程、分配必要的资源,然后,再将新创建的进程加入就绪队列中,准备执行。
相关文档
最新文档