第3章处理机调度与死锁笔记
- 格式:docx
- 大小:116.98 KB
- 文档页数:19
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
第三章处理机调度与死锁(2)考点一调度的基本概念和基本准则一、单选题1.假设就绪队列中有10个进程,系统将时间片设为200ms,cpu进行进程切换要花费10ms。
则系统开销所占的比率约为()。
a.1%b.5%c.10%d.20%2.以下过程描述不正确()。
a.进程申请cpu得不到满足时,其状态变为就绪状态b.在单cup系统中,任一时刻有一个进程处于运行状态c.优先级是进行进程调度的重要证据,一旦确定不能改变d.进程获得处理机而运行的是通过调度实现的二、综合应用题1.分析三种调度形式的差异:短期调度、中期调度和长期调度。
2.流程安排的原因是什么?3.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?4.选择调度方式和调度算法时,应遵循的准则是什么?5.下列问题应由哪一些调度程序负责?(1)时间片中断发生后,决定将处理器分配给哪个就绪进程?(2)在短期重载情况下,应暂停哪个流程?(3)一个作业运行结束后,从后备作业队列中选具备能够装入内存的作业。
6.CPU调度算法决定进程执行的顺序。
如果需要调度n个进程,有多少种可能的调度算法序列?7.有些系统如ms-dos没有提供并发处理手段。
引入并发处理会导致操作系统设计的复杂性。
试分析引入并发处理后导致的操作系统设计的三个主要的复杂性。
8.解释抢占式调度和非抢占式调度的区别。
为什么计算中心不适合采用非抢占式调度?考点二典型调度算法一、单选题1.以下哪一种说法对剥夺式系统来讲结论正确()。
a、如果系统使用轮换方法来调度流程,则系统使用剥夺调度。
b.若现行进程要等待某一事件时引起调度,则该系统是剥夺式调度。
c.实时系统通常采用剥夺式调度。
d、在剥夺系统中,与非剥夺系统相比,该过程的周转时间是可预测的。
2.同时考虑作业等待时间和执行时间的调度算法为()。
a、更高优先级B.结束作业优先级C.优先级调度D.先到先得3.在关于作业优先级大小的讨论中,正确的讨论是()。
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块J CB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
第一章操作系统引论操作系统的定义:是计算机系统中的一个系统软件,管理和控制计算机系统中的硬件和软件资源,合理的组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强大、使用方便的工作环境,从而在计算机与用户之间起到接口的作用。
1.1操作系统的目标与作用1.目标:有效性、方便性、可扩充性、开放性2.作用:a. OS作为用户与计算机硬件系统之间的接口;b. OS作为计算机系统资源的管理者;c.实现了对计算机资源的抽象3.操作系统为用户提供三种类型的使用接口:1.命令方式;2.系统调用方式;3.图形、窗口方式1.2操作系统的发展过程无操作系统的计算机系统、批处理系统(单道、多道)、分时系统、实时系统1.单道批处理系统特征:自动性、顺序性、单道性。
多道批处理系统的优缺点:优点:资源利用率高、系统吞吐量大;缺点:平均周转时间长、无交互能力。
2.分时系统和实时系统的特征:分时系统的特征:多路性、独立性、及时性、交互性、可靠性实时系统的特征:实时性、可靠性、安全性3.分时系统和实时系统的比较:a.及时性:实时信息处理系统对实时性的要求与分时系统类似都以人所能接受的等待时间来确定,但实时控制系统的及时性则是以控制对象所要求的开始截止时间或完成截止时间来确定的;匕交互性:实时信息系统虽然也具有交互性,但其交互性仅限于访问系统中某些特定的专用服务程序,不像分时系统能向终端用户提供数据处理和资源共享等服务;c.可靠性:分时系统虽然也要求系统可靠,但相比实时系统则要求系统具有高度的可靠性。
1.3操作系统的基本特性基本特性:并发性、共享性、虚拟技术、异步性1.4操作系统的主要功能操作系统的主要任务:为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊的、高效的运行,并能最大程度的提高系统中各种资源的利用率和方便用户的使用。
主要功能:处理机管理(进程管理、进程同步、进程通信、处理机调度)存储器管理(内存分配、内存保护、地址映射、内存扩充)设备管理(设备管理、设备分配、设备处理、虚拟设备)文件管理(文件存储空间的管理、目录管理、文件读/写管理和保护)1.5操作系统与用户之间的接口:1.用户接口:供用户组织和控制作业的执行和管理计算机系统;2.程序接口:供编程人员使用操作系统提供的系统调用来请求操作系统提供服务。
3.1 处理机调度的层次&调度算法的目标1.调度的实质是什么?处理机调度是对什么资源进行分配?调度的实质:一种资源分配(CPU、内存)调度算法:根据系统资源分配策略制定的资源分配算法。
调度算法的适用:进程调度,作业调度,或者都适用。
调度的实质是一种个资源的分配,处理机调度是对处理机资源进行分配。
处理机调度算法是指根据处理机分配策略所规定的处理机分配算法。
2.处理机调度按层次划分为哪几种调度?各自实现什么功能?高级调度高级调度又称为作业调度或长程调度,主要功能是根据某种算法,把外存上处于后备队列中的那些作业调入内存,调度的对象是作业。
低级调度•低级调度称为进程调度或短程调度,调度的对象是进程。
•低级调度用于决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。
中级调度中级调度又称中程调度(Medium-Term Scheduling)。
引入中级调度的主要目的,是为了提高内存利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存资源,而将它们调至外存上去等待,把此时的进程状态称为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件、且内存又稍有空闲时,由中级调度来决定把外存上的哪些又具备运行条件的就绪进程,重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度。
中级调度实际上就是存储器管理(第4章)中的对换功能。
3.处理机调度算法的共同目标有哪些?提高内存利用率和系统吞吐量4.CPU的利用率如何计算?125. 对各种不同类型的系统,处理机调度算法的目标分别是什么?1. 面向用户的准则:(1) 周转时间短(2) 响应时间快。
(3) 截止时间的保证。
(4) 优先权准则。
不同的系统具有不同的资源分配目标,因而采用的调度算法也不同。
资源分配目标:倾向于满足用户交互还是充分利用计算机资源,吞吐量/响应时间/周转时间/优先权/公平性…2. 面向系统的准则(1) 系统吞吐量高。
(2) 处理机利用率好。
(3) 各类资源的平衡利用。
3.如何计算周转时间和带权周转时间?作业周转时间:从作业被提交给系统开始,到作业完成为止的这段时间间隔。
⎥⎦⎤⎢⎣⎡=∑=n i i T n T 11 带权周转时间:作业的周转时间T 与系统为它提供服务的时间T S 之比,即W =T/T S 。
⎥⎦⎤⎢⎣⎡=∑=n i Si i T T n W 11 3.2 作业与作业调度1. 什么是作业?什么是作业步?一个典型的作业包含哪些步骤?作业是用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合。
3它包括用户程序、所需要的数据及控制命令等。
作业是由一系列有序的作业步组成的。
一个作业由3部分组成,即程序、数据及作业说明书。
其中,作业说明书体现了用户对作业的控制意图。
作业步之间存在着相互联系,往往上一个作业步的输出是下一个作业步的输入。
2. 什么是JCB ,与PCB 有什么区别?JCB 中包含哪些信息?每个作业进入系统时由系统为其建立一个作业控制块JCB (Job ControlBlock),它是存放作业控制和管理信息的数据结构,主要信息见图。
3. 一个作业从进入系统开始,到执行结束,系统如何控制它?JCB 的作用:作业调度和资源分配的依据作业进入系统,将经历如下步骤:1) 为之建立JCB (作业控制块)2) 将JCB 插入到相应类型的后备队列3) 接受作业调度程序的调度,被装入内存4)作业完成时,撤消JCB4.作业运行需经历哪些阶段?分别对应哪些状态?5.作业调度的主要任务是什么?根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为他们创建进程,分配必要的资源。
再将新创建的进程插入就绪队列。
6.为什么把作业调度称为接纳调度?每次调度作业时,系统需作出哪些决定?作业调度也称为接纳调度。
在每次执行作业调度时,都须做出以下两个决定:1) 接纳多少个作业•取决于多道程序度(允许多少道作业同时在内存)2) 接纳哪些作业•取决于调度算法作业调度算法1.FCFS调度算法的原理是什么?先来先服务(FCFS,First Come, First Served)调度算法•适用:进程调度、作业调度•有利于长作业/进程,不利于短作业/进程•有利于CPU繁忙型作业/进程,不利于IO繁忙型作业/进程2.SJF调度算法的原理是什么?4短作业(进程)优先调度算法SJ(P)F,是指对短作业或短进程优先调度的算法。
它们可以分别用于作业调度和进程调度。
短作业优先(SJF)调度算法,是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。
短进程优先(SPF)调度算法,则是从就绪队列中选出一估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时,再重新调度。
3.SJF调度算法有哪些优缺点?优点:可有效降低作业/进程的平均等待时间。
缺点:(1) 该算法对长作业不利,如作业C的周转时间由10增至16,其带权周转时间由2增至3.1。
更严重的是,如果有一长作业(进程)进入系统的后备队列(就绪队列),由于调度程序总是优先调度那些(即使是后进来的)短作业(进程),将导致长作业(进程)长期不被调度。
(不利长作业)(2) 该算法完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理。
(不及时)(3) 由于作业(进程)的长短只是根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度。
(不完全可靠)4.优先级调度算法的原理是什么?优先级调度算法(priority-scheduling algorithm)是指每个进程都有一个优先级与其相关联,具有最高优先级的就绪进程会被分派到CPU,具有相同优先级的进程按FCFS顺序调度。
56♦ 优先级通常为固定区间的数字,如0到7,或者0到4095。
不过,对于0是最高还是最低的优先级,并没有定论。
有的系统用低数字表示低优先级,而有的系统使用低数字表示高优先级。
5. FCFS 、SJF 调度算法可看作优先级算法的特例,它们分别把什么因素作为优先级?● 先来先服务和短作业优先算法都有其片面性:● 先来先服务调度算法只考虑作业的等待时间,而忽视了作业的运行时间 ● 短作业优先算法则相反,只考虑了作业的运行时间,而忽视了作业的等待时间。
● 高响应比优先调度算法是介于这两种算法之间的一种拆衷的算法。
6. 高响应比优先调度算法的原理是什么? 采用什么因素作为优先级?响应比如何计算?该算法,就是每次调度一个作业投入运行时,计算后备作业表中每个作业的响应比,然后挑选响应比最高的投入运行。
引入动态优先权后,优先权的变化规律可描述为:要求服务时间要求服务时间等待时间优先权+= 由于等待时间与服务时间之和,就是系统对该作业的响应时间,故该优先权又相当于响应比R P 。
据此,又可表示为:要求服务时间响应时间要求服务时间要求服务时间等待时间优先权=+= (1) 如果作业的等待时间相同,则要求服务的时间愈短,其优先权愈高,因而该算法有利于短作业。
(2) 当要求服务的时间相同时,作业的优先权决定于其等待时间,等待时间愈长,其优先权愈高,因而它实现的是先来先服务。
(3) 对于长作业,作业的优先级可以随等待时间的增加而提高,当其等待时间足够长时,其优先级便可升到很高, 从而也可获得处理机。
7.高响应比优先调度算法有哪些优缺点?缺点:每次调度前都要计算响应比,增加了系统开销。
3.3 进程调度1.进程调度的任务有哪些?•低级调度的主要功能:•保存处理机现场•按某种算法选取进程•把处理机分配给进程2.进程调度机制,应包含几个基本部分?分别处理什么工作?排队器⏹将就绪进程按照一定的方式排成一个或多个队列,以便调度程序有效率地访问。
分派器(Dispatcher, 分派程序)⏹从就绪队列上取出调度程序选中的进程,进行上下文切换,把处理机分配给它。
上下文切换机制(CPU现场信息)⏹处理机切换时,会发生两对上下文切换:♦保存当前进程上下文,装入分派程序上下文♦移出分派程序,装入新选中进程的上下文3.进程调度方式包括非抢占方式和抢占调度方式,两者有什么区别?非抢占方式:一旦处理机分配给某进程,就让它一直运行下去,不管它运行多长时间,不允许其他进程抢占已分配给它的处理机。
除非进程完成而释放处理机,或进程阻塞时,才再把处理机分配给其他进程抢占方式:抢占方式允许调度程序根据某种原则去暂停某个正在执行的进程,将已分配给该进程的处理机重新分配给另一进程。
7抢占方式是基于一定原则的:●优先权原则;●短作业(进程)优先原则;●时间片原则优点:⏹防止一个长进程长时间占用处理机⏹能为大多数进程提供更公平的服务⏹能满足对响应时间需求严格的场合缺点:⏹调度开销较大4.采用非抢占调度方式时,引起进程调度的因素有哪些?在采用非抢占调度方式时,可能引起进程调度的因素可归结为这样几个:①正在执行的进程执行完毕,或因发生某事件而不能再继续执行;②执行中的进程因提出I/O请求而暂停执行;③在进程通信或同步过程中执行了某种原语操作,如P操作(wait操作)、Block原语。
优点:⏹实现简单、系统开销小,适用于批处理系统环境。
缺点:⏹难以满足紧急任务的要求——立即执行,不适合分时系统和实时系统。
进程调度算法1.轮转(RR)调度算法的原理是什么?2.采用轮转调度算法时,进程切换时机有哪些?3.RR算法中时间片大小的设置对系统有什么影响?84.什么是抢占式调度方式?什么是非抢占式调度方式?采用优先级调度算法时,两种方式的主要差异是什么?非抢占式优先权算法:在这种方式下,系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成;或因发生某事件使该进程放弃处理机时,系统方可再将处理机重新分配给另一优先权最高的进程。
这种调度算法主要用于批处理系统中;也可用于某些对实时性要求不严的实时系统中。
抢占式优先权算法:在这种方式下,系统同样是把处理机分配给优先权最高的进程,使之执行。
但在其执行期间,只要又出现了另一个其优先权更高的进程,进程调度程序就立即停止当前进程(原优先权最高的进程)的执行,重新将处理机分配给新到的优先权最高的进程。
显然,这种抢占式的优先权调度算法,能更好地满足紧迫作业的要求,故而常用于要求比较严格的实时系统中,以及对性能要求较高的批处理和分时系统中。
5.静态优先级和动态优先级有什么不同?静态优先权:在创建进程时确定的,且在进程的整个运行期间保持不变。
一般地,优先权是利用某一范围内的一个整数来表示的,例如,0~7或0~255中的某一整数,又把该整数称为优先数。