采用短作业优先算法的进程调度程序
- 格式:doc
- 大小:330.00 KB
- 文档页数:18
计算机专业基础综合操作系统(进程管理)历年真题试卷汇编2(总分:96.00,做题时间:90分钟)一、单项选择题(总题数:28,分数:56.00)1.单项选择题下列各题的备选答案中,只有一个是符合题意的。
__________________________________________________________________________________________2.下列几种关于进程的叙述,____最不符合操作系统对进程的理解。
【浙江大学2003年】A.进程是在多程序并行环境中的完整的程序√B.进程可以由程序、数据和进程控制块描述C.线程是一种特殊的进程D.进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位综合考查进程的相关概念。
进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位,不是完整程序,程序是在时间上按严格次序前后相继的操作序列,是一个静态的概念。
3.下面关于并发性的论述中,正确的是____。
【太原科技大学2006年】A.并发性是指若干个事件在同一时刻发生B.并发性是指若干个事件在不同时刻发生C.并发性是指若干个事件在同一时间间隔内发生√D.并发性是指若干个事件在不同时间间隔内发生考查并发性的定义,注意与并行性相区分。
并发性是指两个或多个事件在同一时间间隔内发生;并行性是指两个或多个事件在同一时刻发生。
4.并发进程指____。
【北京理工大学2002年】A.可平行执行的进程√B.可先后执行的进程C.可同时执行的进程D.不可中断的进程考查并发进程的定义。
并发进程是在同一时间段内运行。
从宏观上看,进程之间不是先后执行,而是平行执行;从微观上看,进程之间不是同时执行,而是按时间片轮转交替执行。
5.下面对进程的描述中,错误的是____。
A.进程是动态的集合B.进程有生命期C.进程是指令的集合√D.进程可以并发执行考查进程的概念。
6.一个进程释放了一台打印机后,有可能改变____的状态。
处理器调度选择题•当CPU执行操作系统代码时,则处理机处于( )。
•A.执行态B.目态C.管态D.就绪态•( )是机器指令的扩充,是硬件的首次延伸,是加在硬件上的第一层软件。
•A.系统调用B.操作系统C.内核D.特权指令•操作系统提供给程序员的接口是( )。
•A.进程B.系统调用C.库函数D.B和C•用户程序向系统提出使用外设的请求方式是( )。
•A.作业申请B.原语C.系统调用D.I/O指令•当作业正常完成进入完成状态时,操作系统( )。
•A.将输出该作业的结果并删除内存中的作业•B.将收回该作业的所占资源并输出结果•C.将收回该作业的所占资源及输出结果,并删除该作业•D.将收回该作业的所占资源及输出结果,并将它的控制块从当前的队列中删除•下列选项是关于作业和进程关系的描述,其中哪一个是不正确的( )。
•A.作业的概念主要用在批处理系统中,而进程的概念则用在几乎所有的OS中。
•B.作业是比进程低一级的概念。
•C.一个作业至少由一个进程组成。
•D.作业是用户向计算机提交任务的实体,而进程是完成用户任务的执行实体以及向系统申请分配资源的基本单位。
•作业从后备作业到被调度程序选中的时间称为( )。
•周转时间B.响应时间C.等待调度时间D.运行时间•设有三个作业J1,J2,J3,它们同时到达,运行时间分别为T1,T2,T3,且T1≤T2≤T3,若它们在一台处理机上按单道运行,采用短作业优先算法,则平均周转时间为( )。
•A.T1+T2+T3 B.1/3(T1+T2+T3)•C.T1+2/3T2+1/3T3 D.T1+1/3T2+2/3T3•从作业提交给系统到作业完成的时间间隔称为作业的( )。
•A.中断时间B.等待时间C.周转时间D.响应时间•设有四个作业同时到达,每个作业执行时间均为2 h,它们在一台处理机上按单道方式运行,则平均周转时间为( )。
•A.1 h B.5 h C.2.5 h D.8 h•FCFS调度算法有利于( )。
第四章处理机调度4.3 习题4.3.1 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。
A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。
A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]= Allocation[i,j]+ Max[i,j]C.Max[i,j]= Available[i,j]+Need[i,j]D.Need[i,j]= Available[i,j]+ Max[i,j]3.下列进程调度算法中,()可能会出现进程长期得不到调度的情况。
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.作业从后备作业到被调度程序选中的时间称为()。
A.周转时间B.响应时间C.等待调度时间D.运行时间10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。
第一章1. 什么是操作系统?计算机系统中配置操作系统的主要目标是什么?答(p1):操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。
配置操作系统的主要目标可归结为:(1) 方便用户使用(2) 扩大机器功能(3) 管理系统资源(4) 提高系统效率(5) 构筑开放环境。
2.计算机系统的资源可分成哪几类?试举例说明。
资源包括两大类:硬件资源和信息资源。
硬件资源分为处理器、存储器、I/O设备等;信息资源则分为程序和数据等。
*5、操作系统有哪些类型?它们有什么特征?7.什么是多道程序设计?采用多道程序设计技术有什么特点?答:多道程序设计技术是指同时把多个作业(程序)放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一道程序。
操作系统在引入多道程序设计技术后,使得系统有了多道,宏观上并行,微观上穿行的特点。
采用多道程序设计减少了CPU时间的浪费,增加了系统吞吐量,提高了系统的效率。
第二章2.操作系统提供给用户的接口主要有哪些?答:主要通过程序接口和操作接口两种方式把他的服务和功能提供给用户。
3.什么事系统调用?系统调用与普通调用的区别是什么?答:系统调用本质上是应用程序请求操作系统内核完成某功能的一种过程调用,但它是一种特殊的过程调用,他与一般的过程调用有以下几方面明显差别:①调用形式不同②被调代码的位置不同③提供方式不同④调用的实现不同*4、系统调用有哪几种类型?第三章2.请描述进程的定义和属性。
答:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配、调度和保护的独立单位。
进程的属性有:结构性•共享性•动态性•独立性•制约性•并发性3.请描述进程与程序的区别及关系。
答:程序是静止的,进程是动态的。
进程包括程序和程序处理的对象(数据集),进程能得到程序处理的结果。
最短作业优先(抢占和非抢占)一、流程图解析:在最开始,我们先创建若干进程,选择自动运行,则在运行完后,按顺序显示运行的结果。
同理,选择手动运行,那么就是最先选择最短的作业开始运行,其实当前进程并非一定在实际运行(改变自己的状态),只是一个虚拟的运行(虚拟最短作业优先运行算法),这时我们可以做其他的事情,在做事之前,先运行虚拟算法,依照最短作业优先去改变相关进程的状态(进程可能就没有实际运行过,被虚拟算法改变了状态(就绪、等待、终止)),在做完相关事情之后,再运行虚拟算法,确定是否要发生最短作业的优先抢占。
根据以上的运行结构,我们可以在这结构的基础上,人为地设置进程状态就是改变进程状态,这时就可以发生最短作业调度的抢占和非抢占式。
我们可以进入查看进程状态,看看运行的状况,也可以进入修改进程状态,修改相关进程状态让其发生最短作业的抢占,或者进入创建进程,创建一个新的进程,这是也有可能实现最短作业优先的抢占。
二、虚拟运行算法:从进程的结构分析,进程里面有状态,到达时间(取系统时间),结束时间(取系统时间),需要运行时间,已运行时间等,我们知道第一个最短作业运行的到达时间(开始运行的时间)就是创建的时间。
在一个进程运行终止时,要设好终止的时间、改变状态等属性,这时进行进程间信息交换,终止进程的时间交给下一个要运行的进程的到达时间,这样不断下去就可以运行到最后一个进程,当发生抢占调度时,也是以上的情况运行。
先在抢占之前,就运行虚拟算法,改变相关的进程状态,发生引起抢占的事的时候就可以利用抢占来进行进程的切换。
这样就能让CPU在有工作做时就不能空闲。
直到把所有在就绪队列的进程运行完,这是CPU可以休息了,如果在CPU休息时有进程从等待进入就绪,那么CPU就要继续开工。
当我们运行完第一批输入的进程,现在CPU在空转,我们又创建了新进程,这时新进程就在创建那一刻起开始运行了,因为新进程创建好就进入了就绪的状态。
(答案在后面)一、 填空题(每空1分,共10分)1. 常见的I/O 控制方式有程序I/O 方式、 中断 I/O 控制方式、 DMA I/O 控制方式和 通道 I/O 控制方式四种。
2. 操作系统向用户提供的两个基本接口是 程序 接口和 用户 接口。
3. 若在一分页存储管理系统中,某作业的页表如下所示。
已知页面大小为1024字节,逻辑地址(3082)10转化得到的物理地址是 6154 。
4. 具有多路性、独立性、及时性和交互性特征的操作系统是 分时操作系统。
5. 通道用于控制 设备控制器 与内存之间的信息交换. 6. 事务的最基本特性是。
7. 若盘块大小为4KB ,每个盘块号占4字节,在采用两级索引时允许的最大文件长度为 4GB . 二、单选题(每题2分,共20分)1. 用磁带作为文件存贮介质时,文件只能组织成( )。
A. 顺序文件 B 。
链接文件 C 。
索引文件D. 目录文件2. 一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,则其响应比是( C )。
A 。
2B 。
1 C. 3 D 。
0.5 3. 文件系统采用多级目录结构后,对于不同用户的文件,其文件名(C ).A. 应该相同B. 应该不同C. 可以相同,也可以不同D. 受系统约束 4. 死锁预防是保证系统不进入死锁状态的静态策略,其解决方法是破坏产生死锁的四个必要条件之一。
下列方法中破坏了“循环等待"条件的是( D )。
A. 银行家算法 B 。
一次性分配策略 C. 剥夺资源法 D. 资源有序分配法 5. 进程状态从就绪态到运行态的转化工作是由( B )完成的.A 。
作业调度B 。
进程调度C 。
页面调度 D. 设备调度 6. 采用缓冲技术的主要目的是( C )。
A 。
改善用户编程环境B 。
提高CPU 的处理速度 C. 提高CPU 和设备间的并行程度 D 。
实现与设备无关性 7. 目录文件所存放的信息是( D )。
进程的调度算法调度算法的实质是:根据系统的资源分配策略所规定的资源分配算法。
先介绍⼀下进程调度与作业调度的区别:进程调度是真正让某个就绪状态的进程到处理机上运⾏,⽽作业调度只是使作业具有了竞争处理机的机会。
进程调度(⼜称微观调度、低级调度、短程调度):是按照某种调度算法从就绪状态的进程中选择⼀个进程到处理机上运⾏。
负责进程调度功能的内核程序称为进程调度程序。
作业调度(⼜称⾼级调度、宏观调度、长程调度):是按某种调度算法从后备作业队列中选择作业装⼊内存运⾏;另外当该作业执⾏完毕后,还负责回收系统资源。
完成作业调度功能的程序称为作业调度程序。
下⾯介绍⼏种常见的调度算法:先来先服务(FCFS,first come first served)FCFS调度算法是⼀种最简单的调度算法,该调度算法既可以⽤于作业调度也可以⽤于进程调度。
在作业调度中,算法每次从后备作业队列中选择最先进⼊该队列的⼀个或⼏个作业,将它们调⼊内存,分配必要的资源,创建进程并放⼊就绪队列。
在进程调度中,FCFS调度算法每次从就绪队列中选择最先进⼊该队列的进程,将处理机分配给它,使之投⼊运⾏,直到完成或因某种原因⽽阻塞时才释放处理机。
优点:保证了公平性,规则简单缺点:有利于长进程⽽不利于短进程,有利于CPU 繁忙的进程,⽽不利于I/O 繁忙的进程短作业优先(SJF,Shortest Job First)短作业(进程)优先调度算法是指对短作业(进程)优先调度的算法。
短作业优先(SJF)调度算法是从后备队列中选择⼀个或若⼲个估计运⾏时间最短的作业,将它们调⼊内存运⾏。
⽽短进程优先(SPF)调度算法,则是从就绪队列中选择⼀个估计运⾏时间最短的进程,将处理机分配给它,使之⽴即执⾏,直到完成或发⽣某事件⽽阻塞时,才释放处理机。
优点:相⽐FCFS 算法,该算法可改善平均周转时间和平均带权周转时间,缩短进程的等待时间,提⾼系统的吞吐量。
缺点:该算法对长作业不利,SJF调度算法中长作业的周转时间会增加。
1.有三个程序A、B、C,它们使用同一个设备进行I/O操作,并按A、B、C的优先次序执行。
这三个程序的计算和I/O操作时间如表所示。
假设调度的时间可忽略不计,请分别画出单道程序环境和多道程序环境(假设内存中可同时装入三道程序),它们运行的时间关系图,并比较他们的总运行时间.2.进程之间存在哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?1)若干同学去图书馆借书2)两队举行篮球比赛3)流水线生产的各道工序4)商品生产和社会消费3.有8个程序段P1,…P8,它们在并发执行时又如图2.9所示的制约关系,试用信号量实现这些程序段的同步。
P1 P2P3 P5P4P6 P7P84.有一个计算进程和一个打印进程,它们共享一个单缓冲区,计算进程不断地计算出结果并将它放入单缓冲区中,打印进程则负责从缓冲区中取出每一个结果进行打印。
请用信号量机制来实现他们的同步关系。
5.进程A1、A2、….An1通过m个缓冲区向进程B1、B2……Bn2不断发送消息。
发送与接受工作遵循的规则如下:1)每个发送进程一次发送一个消息,写入一个缓冲区,缓冲区大小和消息长度一样。
2)对于每一个消息,B1、B2、…Bn2都需接受一次,读入自己的数据区中。
3)m个缓冲区都满时,发送进程等待;没有可读的消息时,接受进程等待。
4)用wait和signal操作描述他们的同步关系。
6.用信号量写出一个不会死锁的哲学家进餐问题的算法。
7.有一间酒吧有3个音乐爱好者队列,第一队的音乐爱好者只有随身听,第二队爱好者只有音乐磁带,第三队音乐爱好者只有电池。
然而要听音乐就必须随身听、磁带、电池三种物品齐全。
酒吧老板一次出售这三种物品中的任意两种。
当一名音乐爱好者得到这三种物品并听完一首乐曲后,酒吧老板才能再一次出售这三种物品中的任意两种,于是第二名音乐爱好者得到这三种物品开始听音乐。
那么全部买卖就这样进行下去,使用信号量实现他们的同步关系。
8.假设一个系统中有5个进程,它们的到达时间和服务时间如表所示,忽略I/O以及其他开销时间,若分别按先来先服务fcfs,非抢占及抢占的短进程优先spf,高响应比优先hrrn(响应比=响应时间/要求服务时间=(等待时间+要求服务时间)/要求服务时间),9.有一个内存只能装入两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法,如表所示的作业序列,其中优先数越小,10.对下面5个非周期性实时任务,按最早开始截至时间优先调度算法应如何进行CPU调的哲学家称为右撇子,请说明同时存在左撇子和右撇子的情况下,任何就座安排都不会产生死锁。
1.在一个有两道作业的批处理系统中,作业调度采用短作业优先的调度算法,进程调度采用抢占式优先级调度算法。
设有以下作业序列:(10分)作业名到达时间预估运行时间(分钟)优先数1 8:00 30 82 8:20 40 53 8:20 20 74 8:30 10 6其中给出的作业优先数即为进程的优先数,其数值越小,优先级越高。
要求:(1)列出所有作业进入内存的时间及结束时间。
(2)计算周转时间和平均周转时间。
如果采用非抢占式优先级,结果又如何?解:1)进程调度采用抢占式优先级:作业名进入内存时间(2分)结束时间(2分)1 8:00 9:402 8:50 9:303 8:20 8:404 8:40 8:50各作业的周转时间1:100分钟;2:70分钟;3:20分钟;4:20分钟平均周转时间:52.5 分钟(1分)2)进程调度采用非抢占式优先级:作业名进入内存时间(2分)结束时间(2分)1 8:00 8:302 8:40 9:203 8:20 9:404 8:30 8:40各作业的周转时间1:30分钟;2:60分钟;3:100分钟;4:10分钟平均周转时间:(30+60+100+10)/4=50(1分)2.考虑下面页面走向:(8分)2,3,2,1,5,2,4,5,3,2,5,2,设内存块是3页,如果我们采用LRU替换算法,缺页多少次?如果采用最优淘汰算法,其缺页多少次?(请画图表示)解: 2 3 2 1 5 2 4 5 3 2 5 21)LRU算法: 2 2 2 2 4 4 23 3 5 5 5 51 1 1 3 3缺页7次(4分)2)OPT算法:2 2 2 2 4 23 3 3 3 31 5 5 5缺页6次(4分)3.采用页式存储管理的系统中,某作业的逻辑地址空间为4页(每页2048字节),已知该作业的页表如下:(8分)页号0 1 2 3块号 2 4 1 7试借助地址变换图(要求画出地址变换图)求出有效逻辑地址4400 所对应的物理地址。
青岛理工大学操作系统课程设计报告院(系):计算机工程学院专业:计算机科学与技术专业学生姓名:于洋班级:网络092学号: 200907125题目:短作业优先调度算法的进程调度程序起迄日期: 2012.7.1到 2012.7.11 _设计地点:实验中心101室指导教师:巩玉玺2011—2012年度第 2学期完成日期: 2012 年 7 月 10日一、课程设计目的进行操作系统课程设计主要是在学习操作系统课程的基础上,在完成操作系统各部分实验的基础上,对操作系统的整体进行一个模拟,通过实践加深对各个部分的管理功能的认识,还能进一步分析各个部分之间的联系,最后达到对完整系统的理解。
根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试java程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。
同时,可以提高运用操作系统知识解决实际问题的能力;锻炼实际的编程能力、开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。
最后了解它是如何组织和运作的,对操作系统的核心概念和算法有一个透彻的理解,并对系统运行的机制有一个全面的掌握,从而充分理解系统调用与程序设计之间的关系二、课程设计内容与要求设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,且进程之间也存在着同步与互斥的关系,要求采用指定的调度策略,使系统中的进程有条不紊地工作,通过观察诸进程的运行过程,以巩固和加深处理机调度的概念。
2、设计要求(多道、单处理机):1)每一个进程有一个PCB,其内容可以根据具体情况设定。
2)可以在界面设定的互斥资源(包括两种:输入设备与输出设备)的数目3)进程数、进入内存时间、要求服务时间可以在界面上进行设定4)进程之间存在一定的同步与互斥关系,可以通过界面进行设定,其表示方法如下:进程的服务时间由三段组成:I2C10O5(表示进程的服务时间由2个时间片的输入,10个时间片的计算,5个时间片的输出)进程间的同步关系用一个段表示:W2,表示该进程先要等待P2进程执行结束后才可以运行因此,进程间的同步与互斥关系、服务时间可以统一用四段表示为:I2C10O5W25)可以在运行中显示各进程的状态:就绪、阻塞、执行6)采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列7)具有一定的数据容错性三、系统分析与设计1、系统分析本系统主要是采用短作业优先算法进程的进程调度过程。
短作业优先调度算法,是指对短作业或短进程优先调度的算法。
他们可以分别用于作业调度和进程调度,短作业优先的调度算法是从后备队列中选择一个或若干个估计运行(服务)时间最短的作业,将他们调入内存运行。
而短进程优先调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给他,,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时再度重新调度。
本程序采用了非抢占式短作业优先调度。
而非抢占式这种方式,一旦把处理机分配给某进程后,便让该进程一直执行,直至该进程完成或发生某事件而被阻塞时,才再把处理机分配给其它进程,决不允许某进程抢占已经分配出去的处理机。
这种调度方式的优点是实现简单,系统开销小,适用于大多数的批处理系统环境。
但它难以满足紧急任务的要求——立即执行,因而可能造成难以预料的后果。
因此,在要求比较严格的实时系统中,不宜采用这种调度方式本系统的主要是在满足要求多道单处理机的情况下进行短作业的优先调度。
本系统在测试时输入了五个进程,按实验要求如I2C10O5(表示进程的服务时间由2个时间片的输入,10个时间片的计算,5个时间片的输出,5个时间片的计算组成)的方式输入,各进程的信息如下:(1 0 1 1 1),其中括号内第一个数字代表进程标识,第二个数字代表进程的到达时间,第三组数字则代表的是服务时间(服务时间有输入时间、输出时间,计算时间三个部分组成),由此可得五个进程的服务时间分别为3,4,5,6,7,。
短作业优先进程要求单道、多处理机,可以在界面设定的互斥资源(包括两种:输入设备与输出设备)的数目,进程数、进入内存时间、要求服务时间可以在界面上进行设定,进程的服务时间由三段组成,采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列,我把每一个时间片都显示了出来,因此进程的暂停调度就可有可无,但是我也写上了。
进程进入内存,则按照优先级进行执行进程。
主要是实现了进程执行过程的界面演示以及在暂停演示时各进程此时的状态,主要包括三种状态——就绪、执行、阻塞。
同时,在暂停执行时可以查看当前时间的阻塞队列。
下面是进程信息的输入界面,界面介绍如下:输入设备数目:主要是输入输入设备的数目。
输出设备数目:主要是输入输出设备的数目。
进程数目:输入需要执行的进程的个数。
确定进程数按钮:把以上情况存入数据库的shebei表。
进程数:确定进程的号码。
到达时间:表示进程的到达时间。
输入时间:进程的输入时间片。
计算时间:进程的计算所需的时间片。
输出时间:进程输出所需的时间片。
确定进程控制块pcb按钮:把以上情况录入数据库的pcb表。
运行按钮:当你将所有进程的信息输入完毕后点击此按钮。
进入演示界面进行演示。
空白框:演示结果在这里显示。
判断是否中断:0标识--演示; 1 标识--运行;停止按钮:程序停止运行,但是由于程序运转过快,所以来不及点程序已经运行完成,停止按钮是在数据库中进程有成千上万个是点击;2、系统设计先把输入设备的数目和输出设备的数目输入并保存到数据库的设备表。
再把进程的pcb (进程数,进程到达时间,进程计算时间,进程输出时间,进程输入时间,就绪状态,计算状态,阻塞状态,服务时间片)输入到数据库的pcb表;本调度算法在设计的时候主要运用了两个表。
PCB表主要是包括了进程的pcb所有状况,如:进程数,进程到达时间,进程计算时间,进程输出时间,进程输入时间,就绪状态,计算状态,阻塞状态,服务时间片。
设备表主要有输入设备的数目和输出设备的数目。
短作业优先调度流程图如下:在界面设定的互斥资源开始连接数据库输入两种设备的数目结束设定pcb开始连接数据库输入进程的pcb(进程数,到达时间,输入时间,计算时间等)结束运行开始连接数据库从数据库中获得pcb时间片运行判断是否中断,是否满足到达队列条件根据到达队列按服务时间进行排序判断是否满足就绪条件判断是否满足执行条件判断是否满足输出条件判断是否满足阻塞条件根据输入设备输出进程就绪输出此进程输出状态输出进程执行并把执行数组值变为1输出此进程阻塞结束先进性设备输入,在进行pcb输入,在运行四、系统测试与调试分析1、系统测试本程序主要是采用功能测试,对程序进行的相关的测试与分析。
共输入五个进程信息,输入设备和输出设备各输入一个然后分别输入各进程的到达时间和服务时间,分别如下:(0 1 1 1 )(2 1 1 2 )(3 2 1 2 )(4 2 3 1 2)(5 4 1 2)。
再输入过程中,进程的个数、到达时间以及输入设备和输出设备的个数分别是整数,否则将提示输入错误。
进程的服务时间必须严格按照要求来填写,否则将提示输入错误。
测试说明测试名称短作业优先调度程序测试目的验证系统对短作业优先调度的过程并演示测试技术功能测试测试方法黑盒测试法测试用例1 测试内容输入输出设备的输入过程测试步骤输入正确的进程信息输入错误的进程信息测试数据整形字符串预期结果可以正常运行,可以进入下一步骤显示“数据库错误”测试结果与预期结果一样与预期结果一样测试用例2 测试内容进程信息pcb的输入功能测试步骤输入正确的进程信息输入错误的进程信息测试数据 1 1 1.1预期结果可以正常运行,可以进入下一步骤显示“数据库错误”测试结果与预期结果一样与预期结果一样测试用例3 测试内容测试数据库保存测试步骤保存信息输入不点按钮测试数据Pcb信息Pcb信息预期结果系统正常运行,并能够正确演示系统不能正常运行测试结果与预期结果一样与预期结果一样2、调试分析在调试本程序时和演示过程中,出现了不少的错误。
其中在编写短作业优先调度算法的代码中,用到了不少的for循环以及for循环的嵌套,在这部分出现了变量的混淆,大括号的缺失或多余,经过检查后改正。
在编写短作业优先算法代码的时候,出现了思路紊乱,算法思路不清晰,不能够完成短作业的优先,后经请教同学以及通过画相关流程图得到解决。
还有由于对java的运用并不熟练以及对java的可视化界面的制作不太了解,使自己在做程序过程中遇到了很大的阻力,后经过翻看相关书籍以及请教同学,解决的这个问题。
本程序的演示界面做的很简陋,只是简单的实现了非抢占式的短作业优先调度,但是在本程序的功能中有一项实现输入设备和输出设备只是实现了设备数目的输入功能。
因此,本程序无论是在界面还是在功能上均有很大的缺点和不足之处,需要不断的改进和完善。
五、用户手册1、程序的编写是在win7系统myeclipse 和mysql环境下完成的;2、需要安装,安装步骤。
Myeclipse:1双击myeclipse-8.5.0-win32.exe2点击Next进入下一步3接受协议,点击Next进入下一步4默认安装路径,也可点击Browse浏览到要安装的路径,然后点击Next进入下一步5如果安装路径已确定,则直接点击Install进行安装;否则请点击Change修改安装路径。
6安装过程,这个过程大概需要等待十五分钟左右7安装成功后出现的界面,以后每次启动MyEclipse 8.5时都将会出现该界面,至此,MyEclipse 8.5已经成功安装。
Mysql安装过程:1下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下!打开下载的mysql 安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”。
2mysql安装向导启动,按“Next”继续3选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程:4在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。
在上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation(文档)”也如此操作,以保证安装所有文件。