第3章处理机调度与死锁笔记
第3章 处理机调度与死锁-完整
3.2 调度准则
1、面向用户的准则 (1)周转时间短 周转时间:
Ti Tci Tsi
平均周转时间:
Ti为作业i的周转时间;Tci为作业 i的完成时间;Tsi为作业进入系 统(即进入磁盘后备队列的时间)
1 n T Ti n i 1
n为进入系统的作业个数
Notice:周转时间只考虑了作业等待的时间,没有 考虑作业执行时间的长短! 带权平均周转时间:
(2)处理机利用率好
CPU的有效工作时间 CPU的利用率=
CPU的有效工作时间+CPU的空闲时间
(3)各类资源的平衡利用
3.3 调度算法
1、先来先服务调度算法(FIFO, FCFS) 策略: 作业来到的先后次序进行调度
特点: 每次选择的作业是等待时间最久的,而不管 作业运行时间的长短。这种调度算法突出的 优点是实现简单,但效率较低,在一些实际 的系统和一般应用程序中采用这种算法的较 多。
调度算法
3、最高响应比优先调度算法(HRRF)
先来先服务调度算法只考虑了作业的等待时间而忽 视了作业本身的运行时间,而短作业(短进程)优 先调度算法只考虑了作业的运行时间,而忽视了作 业的等待时间。
系统响应时间 作业等待时间 作业要求运行时间 R 作业要求运行时间 作业要求运行时间
(单位:小时,并以十进制记)
Ti wi Tri
1 W Wi n i 1
n
Wi为作业i的带权周转时间;Tri为作业i的实际执 行时间
调度准则
(2) 响应时间快
常把响应时间的长短用来评价分时系统的性能,这 是选择分时系统中进程调度算法的重要准则之一。 所谓响应时间,是从用户通过键盘提交一个请求开 始,直至系统首次产生响应为止的时间,或者说, 直到屏幕上显示出结果为止的一段时间间隔。
第3章 调度与死锁
• 2.短作业(进程)优先调度算法(Shortest Job/Process First,SJF/SPF) –(1) 算法描述 • 对预计执行时间短的作业(进程)优 先分派处理机。通常后来的短作业不 抢先正在执行的作业。 • 是对FCFS算法的改进,其目标是减少 平均周转时间。
• (2) SJF的特点 –优点: • 比FCFS改善平均周转时间和平均带权周转 时间,缩短作业的等待时间; • 提高系统的吞吐量; – 缺点: • 对长作业非常不利,可能长时间得不到执 行; • 未能依据作业的紧迫程度来划分执行的优 先级; • 难以准确估计作业(进程)的执行时间, 从而影响调度性能。
进程
P1 P2 P3 P4
P1 0 2 P2 4
到达时间
0.0 2.0 4.0 5.0
执行时间
7 4 1 4
• 最短剩余时间优先(抢先式SJF)
P3 5 P2 7 P4 11 P1 16
• 平均等待时间 = (9 + 1 + 0 +2)/4 = 3 • 平均周转时间=(16+5+1+6)/4=7
3.2.2 优先权调度算法(Priority Scheduling)
10.00 10.10 2 1
10.25 0.25
作 业 1 2 3
提交 运行 开始 完成时 周转 带权周转 时间 时间 时间 间 时间 时间 10.00 10.10 2 1 10 12 12.00 13.00 13.25 2 2.9 3 2/2 2.9/1 3/0.25
10.25 0.25 13
截止时间
• 实时系统的重要指标。 • 开始截止时间和完成截止时间 • 某任务必须开始执行的最迟时间,或必 须完成的最迟时间。
优先权原则
计算机操作系统课后习题答案第三章(第四版)
第三章处理机调度与死锁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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
计算机操作系统 第四版 汤小丹 梁红兵 哲凤屏_第3章(20162017)
3.3.1 进程调度的任务、机制和方式
2. 进程调度机制
(2) 分派器。从就绪队列中取出由进程调度程序所选定的进 程,然后进行从分派器到新选出进程间的上下文切换,将 处理机分配给该进程。 (3) 上下文切换机制。两对上下文切换:①操作系统将保 存当前进程的上下文,而装入分派程序的上下文,以便分 派程序运行;②移出分派程序的上下文,而把新选进程的 CPU现场信息装入到处理机的各个相应寄存器中。
3.2.4 优先级调度算法和高响应比优先调度算法
1. 优先级调度算法(priority-scheduling algorithm, PSA)
PSA基于作业的紧迫程度,由外部赋予作业相应 的优先级,调度算法根据该优先级进行调度。PSA 可作为作业调度算法,也可作为进程调度算法。
3.2.4 优先级调度算法和高响应比优先调度算法 2. 高响应比优先调度算法(Higher Response Ratio Next, HRRN)
功能是根据算法,决定就绪队列中的哪个进程应获得 处理机,并由分派程序将处理机分配给被选中的进程。
3. 中级调度(Intermediate Scheduling) 又称内存调度。主要目的是为了提高内存利用率和系 统吞吐量。将那些暂时不能运行的进程调至外存上去等 待,称为就绪驻外存状态或挂起状态;把外存上的又具 备运行条件的就绪进程,重新调入内存,并修改其状态 为就绪状态,挂在就绪队列上等待进程调度。
3.1.2 处理机调度算法的目标
4. 实时系统的目标 (1) 截止时间的保证
截止时间:某任务必须开始执行的最迟时间,或必须 完成的最迟时间。调度算法必须保证实时任务对截止时 间的要求。
(2) 可预测性
3.2 作业和作业调度
3.2.1 批处理系统中的作业
第三章处理机调度与死锁(2)
第三章处理机调度与死锁(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.在关于作业优先级大小的讨论中,正确的讨论是()。
2013 第三章 处理机调度课堂讨论-习题解析
第三章 处理机调度与死锁(2)
下面不属于作业调度算法评估标准的是( )
A.CPU利用率 C.吞吐量 B.内存利用率 D.周转时间
有5个待运行作业J1~J5,各自预计运行的 时间分别是9,6,3,5和7。假定这些作 业同时到达,并且在一台处理机上按单道 方式执行。讨论采用哪种调度算法和哪种 运行次序将使平均周转时间最短,平均周 转时间为多少。
第三章 处理机调度与死锁
课堂论
第三章 处理机调度与死锁
调度及调度层次 选择调度算法的准则 调度算法:FCFS、SJF、优先权、RR 死锁:
概念 产生死锁的原因 产生死锁的必要条件 死锁的处理方法:避免、预防、检测和解除 银行家算法
第三章 处理机调度与死锁(1)
设有4个作业同时到达,每个作业的执行时间 均为2小时,它们在一台处理机上按单道式运 行,则平均周转时间为( ) 设有3个作业J1、J2、J3,其运行时间分别为 2小时、5小时、3小时,假定它们同时到达, 并在同一台处理机上以单道方式运行,则平 均周转时间最小的执行顺序是( )
处理器调度采用可抢占式的优先级算法,忽略其它 辅助操作时间,回答下列问题:
分别计算作业J1~J3从开始到完成所用的时间 3个作业全部完成时CPU的利用率 3个作业全部完成时外设IO1的利用率
第三章 处理机调度与死锁(6)
已分配的资源 最大需求量 剩余资源 A B C A B C A B C P1 0 1 0 7 5 3 3 3 2 P2 2 0 0 3 2 2 P3 3 0 2 9 0 2 P4 2 1 1 2 2 2 P5 0 0 2 4 3 3 问:1)此状态是否为安全状态,是则找出安全序列 2)在此基础上
计算机操作系统(第四版)课后习题答案第三章
第三章处理机调度与死锁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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
操作系统第3章 处理机调度(调度)
3.2 调度算法
进程调度的核心问题就是采用什么样的算法将处 理机分配给进程,常用的进程调度算法有:
先来先服务调度算法
短作业/进程优先调度算法
优先权调度算法
高响应比优先调度算法
时间片轮转调度算法
多级队列调度算法
多级反馈队列调度算法
返回目录
一、先来先服务调度算法FCFS
基本思想:按照进程进入就绪队列的 先后次序来分配处理机。
抢占(剥夺)方式
非抢占方式
一旦把处理机分配给某进程后,便让该进程 一直执行,直到该进程完成或因某事件而被 阻塞,才再把处理机分配给其它进程,不允 许进程抢占已分配出去的处理机。
特点:实现简单,系统开销小,常用于批处 理系统;但不利于处理紧急任务,故实时、 分时系统不宜采用。
抢占方式
允许调度程序根据某种原则(时间片、优 先权、短进程优先),停止正在执行的进 程,而将处理机重新分配给另一进程。
调度算法(太长---FCFS); 上下文切换(太短---上下文切换频繁); 平均周转时间。
短时间片增加上下文切换频率
周转时间随时间片变化
三、时间片轮转调度算法—例(1)
EG: 进程 到达时间
P1
0
P2
2
P3
4
P4
5
RR(时间片为1)
服务时间
7 4 1 4
P1 P2 P1 P2 P3 P1 P4 P2 P1 P4 P2 P1 P4 P1 P4
FCFS SPF-非 SPF-抢
周转T 124.25 100
75.75
等待T 74.25 49.5
25.25
二、SJF/SPF ——抢占式
到达顺序: 进程名 到达时间 服务时间
计算机操作系统(第四版)课后习题答案第三章
第三章处理机调度与死锁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章处理机调度与死锁课后习题解答
第3章 处理机调度与死锁
12.在解决死锁问题的几个方法中,哪种方法最易实现? 哪种方法资源利用率最高? 【解答】解决死锁问题的方法有:死锁的预防、死锁的避免、死锁
的检测和解除等。
死锁的预防:主要是破坏产生死锁的必要条件。该方法容易实现,但 资源的利用率低。 死锁的避免:比较常用的有银行家算法。在该算法中有一些数据结构 及必要的计算,因此,实现起来不太容易,但资源的利用率最高。 死锁的检测和解除:是基于死锁定理而设计的,定期或不定期运行该 算法对系统的状态进行检测,发现死锁便予以解除。其中,需要比较 一下各种死锁解除方案的代价,找到代价最小的方案。该算法资源利 用率较高,但最难实现。因此,在以上几种方法中,死锁的预防最易 实现;死锁的避免资源利用率最高。
15.说明Linux系统的进程有哪几个状态? 【解答】 Linux系统内核在进程控制块中用state成员描述 进程当前的状态,并明确定义了5种进程状态。它们分别 是: (1)TASK-RUNNING状态,Linux系统中的运行状态实 际包含了上述基本状态中的执行和就绪两种状态。 (2)TASK-INTERRUPTIBLE状态,可中断的等待态。 (3)TASK-UNINTERRUPTIBLE状态,等待态,不可中 断状态。 (4)TASK-ZOMBIE状态,僵死态。 (5)TASK-STOPPED状态,暂停态。
1
第3章 处理机调度与死锁
2.高级调度与低级调度的功能是什么? 【解答】高级调度即作业调度。作业调度又称为高 级调度或长调度,用于选择把外存上处于后备队列 中的哪些作业调入内存,并为它们创建进程、分配 必要的资源。然后,再将新创建的进程排在就绪队 列上,准备执行。低级调度又称为进程调度,它的 功能是按照某种策略和算法,将处理机分配给一个 处于就绪状态的进程。
第3章 处理机调度与死锁练习答案
第三章处理机调度与死锁一、单项选择题1、操作系统中的作业管理是一种(A )。
A.宏观的高级管理B.宏观的低级管理C.系统刚开始加电D.初始化引导完成2、作业调度又称为[1A],它决定将哪些在外存储器上的处于[2D]状态的作业调入主机内存。
系统经作业调度程序选中一个或多个作业后,就为它们分配必要的内存、设备及软资源。
然后控制权就交给了[3B],由[3]将它们变为一个或一组[4C],并[5A]。
供选择的答案:[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、为它们分配设备3、处于后备状态的作业存放在(A )中。
A.外存B.内存C.A和BD.扩展内存4、在操作系统中,JCB是指(A )。
A.作业控制块B.进程控制块C.文件控制块D.程序控制块5、作业在系统中存在与否的唯一标志是( C)。
A.源程序B.作业说明书C.作业控制块D.目的程序6、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指(A)调度算法。
A.先来先服务法B. 短作业优先法C.时间片轮转法D. 优先级法7、在批处理系统中,周转时间是(B )。
A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间8、为了对紧急进程或重要进程进行调度,调度算法应采用( B)。
A.先来先服务法B. 优先级法C.短作业优先法D. 时间片轮转法9、操作系统中,( A)负责对进程进行调度。
A.处理机管理B. 作业管理C.高级调度管理D. 存储和设备管理10.如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是短作业优先调度算法。
计算机操作系统(汤小丹第三版)第3章 处理机调度与死锁
m
Ci P N i 1 i
25
m
第三章 处理机调度与死锁
3.3.2 实时调度算法的分类
1、非抢占式调度算法
图 3-8 非抢占式实时进程调度
26
第三章 处理机调度与死锁
2、抢占式调度算法
图 3-8 抢占式实时进程调度
27
第三章 处理机调度与死锁
3.4.3 常用的几种实时调度算法
1、 最早截止时间优先即EDF(Earliest Deadline First)算法
11
第三章 处理机调度与死锁
3.2.2 选择调度方式和调度算法的若成 这段时间间隔。
1 i (2)平均周转时间: T Ti n i 1
W0 T
(3)带权周转时间:作业周转时间T与系统为它提供 的服务时间TS之比:
作业 调度 后 备 队 列
时间片完
进程调度 进程完成
就 绪 队 列
CPU
事件1出现
等待事件1
事件2出现 … 事件n出现 … …
等待事件2 … 等待事件n
图 3-2 具有高、低两级调度的调度队列模型
9
第三章 处理机调度与死锁
3、 同时具有三级调度的调度队列模型
作业调度 后备队列 批量作业 交互型作业 中级调度 时间片完 就绪队列 进程完成
进程名 到达 时间 A 0 B C D E 1 2 3 4 服务 时间 4 3 5 2 4 带权平均 周转时间
22
完成 时间
周转 时间
带权周 转时间
平均周转时间
第三章 处理机调度与死锁
2、多级反馈队列调度算法 就绪队列1 S1 S2 S3 至CPU 至CPU
就绪队列2 就绪队列3
操作系统第三章课后答案
第三章处理机调度与死锁1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?高级调度的主要任务:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程插入就绪队列上,准备执行。
低级调度的主要任务:用于决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行将处理机分配给该进程的具体操作。
引入中级调度的主要目的:是为了提高系统资源的利用率和系统吞吐量。
10. 试比较FCFS和SPF两种进程调度算法相同点:两种调度算法都是既可用于作业调度,也可用于进程调度;不同点:FCFS调度算法每次调度都是从后备队列中选择一个或是多个最先进入该队列的作业,将它们调入内存,为它们分配资源,创建进程,然后插入到就绪队列中。
该算法有利于长作业/进程,不利于短作业/进程。
SPF调度算法每次调度都是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存中运行。
该算法有利于短作业/进程,不利于长作业/进程。
15. 按调度方式可将实时调度算法分为哪几种?按调度方式不同,可分为非抢占调度算法和抢占调度算法两种。
18. 何谓死锁?产生死锁的原因和必要条件是什么?a.死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;b.产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;c.必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。
19.在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法是资源利用率最高?解决/处理死锁的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁方法最容易实现,但由于所施加的限制条件过于严格,会导致系统资源利用率和系统吞吐量降低;而检测和解除死锁方法可是系统获得较好的资源利用率和系统吞吐量。
20. 请详细说明可通过哪些途径预防死锁?a.摒弃"请求和保持"条件:系统规定所有进程开始运行之前,都必须一次性地申请其在整个运行过程所需的全部资源,但在分配资源时,只要有一种资源不能满足某进程的要求,即使其它所需的各资源都空闲,也不分配给该进程,而让该进程等待;b.摒弃"不剥夺"条件:系统规定,进程是逐个地提出对资源的要求的。
第三章处理机调度
第三章 处理机调度与死锁
3. 2 调度队列模型 和调度准则
3.2.1. 调度队列模型
1.仅有进程调度的调度队列模型 时间片完
交互用户
事 件 出 现
就绪 队列 阻塞 队 列
进程调度
进程完成 CPU
等待事件
图 3 - 1 仅具有进程调度的调度队列模型
第三章 处理机调度与死锁
…… …
CPU 进程X
进程i
当前进程 调度时间
实时进程
实时进程请求调度 实时进程抢占当前 进程并立即执行
当前进程
实时进程
调度时间
(b) 非抢占式优先权调度
(d) 立即抢占的优先权调度
图 3-6 实时进程调度
第三章 处理机调度与死锁
3.4.3 常用的几种实时调度算法
1. 最早截止时间优先即EDF(Earliest Deadline First)算法 开始截止时间
要求服务时间 10 25 5 10
到达时间 完成时间 周转时间
0 5 10 15 10 35 40 50 10 30 30 35
带权周转时间 1 1.2 6 3.5
先 来 先 服 务
105/4=26.2 5 11.7/4=2.9 25
FCFS
例:FCFS算法比较有利于长作业(进程),而不 利于短作业(进程)。下表列出了A、B、C、D四 个作业分别到达系统的时间、要求服务的时间、 开始执行的时间及各自的完成时间,并计算出各 自的周转时间和带权周转时间。
2.作业控制块JCB(Job Control Block)
在多道批处理系统中为每个作业设置了一个作业 控制块(JCB),它是作业在系统中存在的标志.
当作业进入系统时,OS为其建立JCB.
计算机操作系统 第三版 第三章处理机调度
周转时间 (分钟) 65 20 20 20 125
带权周转时间 2.167 1 4 2 9.167
调度算法应用举例
最短作业优先算法执行分析过程
10:00,JOB1进入,只有一作业,JOB1被调入执行, 10:05,JOB2到达,最多允许两作业同时进入,所以 JOB2也被调入 内存中有两作间长短调整执行次序
多级反馈队列
调度算法应用举例
在两道环境下有四个作业, 已知它们进入系统的时 间、估计运行时间, 系统采用短作业优先作业调度 算法,作业被调度运行后不再退出内存, 当一新作 业投入运行后,可按照作业运行时间长短调整作业 执行的次序(可抢占式调度占用CPU) 请给出这四个作业的执行时间序列,并计算出平均 周转时间及带权平均周转时间
2.低级(Short-term)调度——进程调度
进程调度决定就绪队列中哪个进程将获得处理机,然 后由分派程序执行把处理机分配给该进程的操作。进程 调度是最基本的调度,任何操作系统都有进程调度。
低级调度:最基本。各类0S必须具有的 功能。 中级调度:较完善的OS中,引入其来改 善内存的利用率和提高作业的吞吐量。 高级调度:批处理OS必须配置,纯粹的 分时或实时OS中,通常无须配置。
说明
前两种算法主要用于宏观调度,说明怎样选择一 个进程或作业开始运行,开始运行后的作法都相 同,即运行到结束或阻塞,阻塞结束时等待当前 进程放弃CPU
本算法主要用于微观调度,说明怎样并发运行, 即切换的方式;设计目标是提高资源利用率 其基本思路是通过时间片轮转,提高进程并发性 和响应时间特性,从而提高资源利用率
第3级:进程调度、
交换调度
完成 状态
微观调度、低级调度
选取一个处于就 绪状态的进程占 用处理机,之后, 进行上下文切换 以便建立与占用 处理机进程相适 应的执行环境。
os课本考试重点笔记
第一章操作系统引论对操作系统的描述:是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。
是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
OS的目标:有效性、方便性、可扩充性、开放性。
多道程序必须有中断和通道技术的支持。
OS的作用:1.作为用户与计算机硬件系统之间的接口;2.作为计算机系统资源的管理者;3.实现了对计算机资源的抽象。
OS的三种基本类型:批处理系统、分时系统、实时系统。
OS的四个特征:并发、共享、虚拟、异步性。
第二章进程管理程序顺序执行时的特征:顺序性、封闭性、可再现性。
程序并发执行时的特征:间断性、失去封闭性、不可再现性。
进程的特征:动态性、并发性、独立性、异步性。
传统OS中进程的定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
进程的三种基本状态:就绪、执行、阻塞状态。
PCB昰进程存在的唯一标志。
PCB常驻内存。
PCB的组织方式:链接方式、索引方式。
引起创建新进程的典型事件:用户登录、作业调度、提供服务、应用请求。
创建新进程的步骤:申请空白PCB;为新进程分配资源;初始化PCB;将新进程插入就绪队列。
引起进程阻塞或被唤醒的事件:请求系统服务;启动某种操作;新数据尚未到达;无新工作可做。
进程的阻塞是进程自身的一种主动行为。
Block原语和wakeup原语要匹配使用,以免造成“永久阻塞”。
同步应遵循的规则:空闲让进,忙则等待,有限等待,让权等待。
把每个进程中访问临界资源的那段代码成为临界区。
信号量是一个被保护的变量,它的值只能通过初始化和两个wait、signal原语来操作--作为OS核心代码执行。
互斥信号量:它的P,V在同一个进程中,初值为1或n, 同步信号量:它的P,V在不同的进程中,初值为0或某个正整数。
同步P操作应在互斥P操作之前,两个V操作无关紧要。
设置进程的目的在于实现系统的并发性,而管程的设置则是解决共享资源的互斥使用问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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中的某一整数,又把该整数称为优先数。