处理机调度(精选)
- 格式:ppt
- 大小:2.60 MB
- 文档页数:42
处理机调度-调度算法处理机调度-调度算法先来先服务(FCFS)调度算法概念将⽤户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,按照先来先服务的⽅式进⾏调度处理。
公平性1.直观看,该算法在⼀般意义下是公平的。
即每个作业或进程都按照它们在队列中等待时间长短决定它们是否优先享受服务2.但如果执⾏时间较短的作业或进程在某些执⾏时间很长的作业或进程之后到达,则它们将等待很长时间轮转法基本思路基本思路是让每个进程在就绪队列中的等待时间与享受服务的时间成⽐例过程将CPU的处理时间分成固定⼤⼩的时间⽚。
如果⼀个进程在被调度选中之后⽤完了系统规定的时间⽚,但未完成要求的任务,则它⾃⾏释放⾃⼰所占有的CPU⽽排到就绪队列的末尾,等待下⼀次调度。
同时,进程调度程序⼜去调度当前就绪队列中的第⼀个进程或作业。
轮转法只能调度可抢占资源轮转法只能⽤来调度分配那些可以抢占的资源。
将它们随时剥夺再分配给别的进程例⼦:CPU是可抢占资源的⼀种但如打印机等资源是不可抢占的作业调度不使⽤轮转法:由于作业调度是对除了CPU之外的所有系统硬件资源的分配,其中包含有不可抢占资源,所以作业调度不使⽤轮转法轮转法的时间⽚选取问题时间⽚长度的选择会直接影响系统开销和响应时间过短的问题:如果时间⽚长度过短,则调度程序剥夺处理机的次数增多。
这将使进程上下⽂切换次数也⼤⼤增加,从⽽加重系统开销过长的问题:如果时间⽚长度选择过长,例如⼀个时间⽚能保证就绪队列中所需执⾏时间最长的进程能执⾏完毕,则轮转法变成了先来先服务法由于时间⽚的选取要满⾜相应时间的要求,所以是有如下的关系:q=R/NmaxR:系统对响应时间的要求RNmax:就绪队列中所允许的最⼤进程数Nmax相应的关系:1.在q为常数的情况下,如果就绪队列中的进程数远⼩于Nmax,则响应时间R看上去会⼤⼤减⼩2.由于q值固定,从⽽进程上下⽂切换的时机不变,系统开销也不变。
3.CPU的整个执⾏时间等于各进程执⾏时间加上系统开销。
第四章处理机调度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.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。
处理机调度,也叫CPU调度,进程调度,讨论的是如何将处理机分给各个进程运行的问题。
它涉及到调度类型、调度方式、调度算法、调度时机和调度性能这样一些问题。
而死锁是操作系统中偶尔会出现的现象,它会使某些进程处于一种无法自我解脱的僵持状态,需要系统花费一定的时空开销来解除并恢复它们的运行。
一、三种类型的调度处理机(CPU)在进程之间的动态分配和切换,涉及到三种类型的调度,即高级调度(也叫作业调度、长程调度)、中级调度(也叫进程对换)和低级调度(也叫处理机调度、CPU调度、进程调度)。
低级调度是所有的系统都有的,但高、中级调度不是所有的系统都有。
二、处理机调度准则不同的CPU调度算法有不同的性质并且可能会更适用于某个进程类型。
在一个特定的环境中采用哪个算法必须要考虑到各种算法的特性。
可以用有多个准则来比较CPU调度算法。
在确定最好的算法中所用的特征可以使各种算法产生实质性的不同。
这些准则包括:CPU利用率:我们希望尽可能的保持CPU忙碌。
CPU利用率可能在0到100之间。
在实际的系统中,CPU利用率的范围应该在40%(系统负荷较轻)到90%(系统负荷较重)之间。
吞吐量:如果CPU忙于执行进程,那么工作正在进行(就要完成了)。
对工作量的一种测量是单位时间内完成的进程数,被称为吞吐量。
对较长的进程来说吞吐量可能是每小时一个进程;对于较短的事务来说可能是每秒十个进程。
周转时间:对一个进程来说,一个重要的指标是它执行所需要的时间。
从进程提交到进程完成的时间间隔为周转时间。
周转时间是等待进入内存的时间、在就绪队列中等待的时间、在CPU中执行的时间和I/O操作的时间的总和。
等待时间:CPU调度算法并不能影响进程的执行时间和I/O操作时间;它只能影响进程在就绪队列中等待的时间。
等待时间是进程在就绪队列中耗费时间的总和。
响应时间:在交互式系统中,周转时间可能不是最好的指标。
进程通常会很早的产生一些输出,并且在先前的结果输出给用户时继续计算。
第四章处理机调度一、选择题:1、()调度主要涉及内存管理与扩充。
A、作业B、交换C、进程D、线程2、()调度在作业执行完毕时还负责回收系统资源。
A、作业B、交换C、进程D、线程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、()状态也称为后备状态。
A、提交B、收容C、执行D、完成11、一种既有利于短小作业又兼顾到长作业的作业调度算法是()A、先来先服务 B 、轮转C、最高响应比优先D、均衡调度12、作业调度程序是从处于()状态的作业中选取一个作业并把它装入主存。
A、输入B、收容C、执行D、完成13、下列选项中哪一个不属于作业调度算法的评价因素()A、单位时间内运行尽可能多的作业B、使各种I/O设备得以充分利用C 、对所有的作业都是公平合理的 D、使处理机尽可能保持“空闲”。
14、下列选项中哪一项不属于JCB的主要内容()A 作业名B 作业类型C 资源要求D 作业完成时间15、作业调度程序为选中作业建立进程并为这些进程分配的系统资源不包括下列哪一项()A、内存B、外存C、外设D、虚拟内存16、在操作系统中,JCB是指()。
A、作业控制块B、进程控制块C、文件控制块 D 程序控制块17、作业调度算法包括下列选项中的那些种()。
实验二(进程)处理器调度一、实验内容选择一个调度算法,实现处理器调度。
二、实验目的在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。
当就绪进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。
本实习模拟在单处理器情况下的处理器调度,帮助学生加深了解处理器调度的工作。
三、实验题目本实习有两个题,学生可选择其中的一题做实习。
第一题:设计一个按优先数调度算法实现处理器调度的程序。
[提示]:(1) 假定系统有五个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为:其中,进程名——作为进程的标识,假设五个进程的进程名分别为P1,P2,P3,P4,P5。
指针——按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“0”。
要求运行时间——假设进程需要运行的单位时间数。
优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。
状态——可假设有两种状态,“就绪”状态和“结束”状态。
五个进程的初始状态都为“就绪”,用“R”表示,当一个进程运行结束后,它的状态为“结束”,用“E”表示。
(2) 在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”。
(3) 为了调度方便,把五个进程按给定的优先数从大到小连成队列。
用一单元指出队首进程,用指针指出队列的连接情况。
例:队首标志K2K3K4K5(4) 处理器调度总是选队首进程运行。
采用动态改变优先数的办法,进程每运行一次优先数就减“1”。
由于本实习是模拟处理器调度,所以,对被选中的进程并不实际的启动运行,而是执行:优先数-1要求运行时间-1来模拟进程的一次运行。
提醒注意的是:在实际的系统中,当一个进程被选中运行时,必须恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行结束。
在这里省去了这些工作。
(5) 进程运行一次后,若要求运行时间 0,则再将它加入队列(按优先数大小插入,且置队首标志);若要求运行时间=0,则把它的状态修改成“结束”(E),且退出队列。
1、时间片轮转调度算法是为了()A多个终端能够得到系统及时响应B使系统变得高效C优先级较高的进程得到及时响应D 需要CPU时间最少的进程最先做2、在单处理器的多进程系统中,进程什么时候占用处理器以及决定占用时间的长短是由()决定的。
A进程相应的代码长度B进程总共需要运行的时间C进程特点和进程调度策略D进程完成什么功能3、()有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业。
A时间片轮转调度算法B先来先服务调度算法C短作业(进程)优先算法D优先权调度算法4、面有关选择进程调度算法的准则中不正确的是()A尽快响应交互式用户的请求B尽量提高处理器利用率C尽可能提高系统吞吐量D适当增长进程就绪队列的等待时间5、设有4个作业同时到达,每个作业的执行时间均为2h,它们在一台处理器上按单道运行,则平均周转时间为()A1hB5hC2.5hD8h6、若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业、长作业和交互作业用户都满意,应采用()。
AFCFS调度算法B短作业优先调度算法C时间片轮转调度算法D多级反馈队列调度算法7、()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变。
A先来先服务B动态C短作业D静态8、现在有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2、T3,且T1<T2<T3。
系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()。
AT1+T2+T3 B(3*T1+2*T2+T3)/3C(T1+T2+T3)/3D(T1+2*T2+3*T3)/39、设有三个作业,其运行时间分别是2h、5h、3h,假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是()。
AJ1,J2,J3 BJ3,J2,J1 CJ2,J1,J3 DJ1,J3,J210、采用时间片轮转调度算法分配CPU时,当处于运行状态的进程用完一个时间片后,它的状态是()状态。
第四章处理机调度与死锁4.1 知识点汇总1、处理机调度级别⑴调度:选出待分派的作业或进程⑵处理机调度:分配处理机⑶三级调度:高级调度(作业调度)、中级调度(内存对换)、低级调度(进程调度)2、作业状态⑴作业状态分为四种:提交、后备、执行和完成。
⑵作业状态变迁图:图4-1 作业状态及变迁3、作业调度和调度的功能⑴. 作业调度的任务后备状态→执行状态执行状态→完成状态⑵作业调度的功能①记录系统中各个作业的情况②按照某种调度算法从后备作业队列中挑选作业③为选中的作业分配内存和外设等资源④为选中的作业建立相应的进程⑤作业结束后进行善后处理工作4、进程调度和调度的功能1). 进程调度:后备状态→执行状态2). 进程调度时机:任务完成后、等待资源时、运行到时了、发现重调标志3). 进程调度的功能:保存现场、挑选进程、恢复现场5、两级调度模型 作业调度和进程调度的区别6、评价调度算法的指标调度性能评价准则:CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间(1)吞吐量:单位时间内CPU完成作业的数量(2)周转时间:1) 周转时间=完成时刻-提交时刻2) 平均周转时间=周转时间/n3) 带权周转时间=周转时间/实际运行时间4) 平均带权周转时间=带权周转时间/n7、作业与进程调度算法(1)先来先服务(FCFS)调度算法的实现思想:按作业(进程)到来的先后次序进行调度,即先来的先得到运行。
用于作业调度:从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。
用于进程调度:从就绪队列中选择一个最先进入该队列的进程投入运行。
例如设有三个作业,编号为1,2,3。
各作业分别对应一个进程。
各作业依次到达,相差一个时间单位。
①图示出采用FCFS方式调度时这三个作业的执行顺序②算出各作业的周转时间和带权周转时间(2)时间片轮转(RR)调度算法的实现思想:系统把所有就绪进程按先进先出的原则排成一个队列。
新来的进程加到就绪队列末尾。