计算机操作系统_第三章_处理机调度与死锁资料
课件操作系统处理机调度.ppt

(2) 作业步(Job Step)。每个作业都必须经过若干个相对 独立,又相互关联的顺序加工步骤才能得到结果,把其中的每 一个加工步骤称为一个作业步,各作业步之间存在着相互联系, 上一个作业步的输出作为下一个作业步的输入。 一个典型的作业可分成三个作业步: ① “编译”作业步; ② “连结装配”作业步;
1.仅有进程调度的调度队列模型
(1)在分时系统中,仅仅设有进程调度。 (2)用户键入的命令和数据都直接送入内存。对于命令, 是由OS为之建立一个进程。 (3)系统可以把处于就绪状态的进程组织成栈、树或一个 无序链表。 例如:就绪进程组织成FIFO队列形式。每当OS创建一个 新进程时,便将它挂在就绪队列的末尾,然后按时间片轮转方 式运行。
2. 优先权的类型 1) 静态优先权是在创建进程时确定的,且在进程的整个 运行期间保持不变。一般地,优先权是利用某一范围内的 一个整数来表示的。
(1) 进程类型。 (2) (2) 进程对资源的需求。 (3) (3) 用户要求。 静态优先权法简单易行,系统开销小,但不够精确, 很可能出现优先权低的作业(进程)长期没有被调度的情况。 因此,仅在要求不高的系统中才使用静态优先权。
• 也称微观调度,从处理机资源分配的角度来 看,即占有CPU来运行。 • 处理机需要经常选择就绪进程或线程进入运 行状态。
• 低级调度的时间尺度通常是毫秒级的。由于 低级调度算法的频繁使用,要求在实现时做到 高效。
低级调度的主要功能
(1) 保存处理机的现场信息。
(2) 按某种算法选取进程。 如优先数算法、轮转法等,从就绪队列中选取一个进程, 把它的状态改为运行状态,并准备把处理机分配给它。 (3) 把处理器分配给进程。
图 3-4 FCFS和SJF调度算法的性能
第三章 处理机调度与死锁习题及答案 新

第三章处理机调度与死锁一.选择题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.需要CPU时间最短的进程先做11.下面关于优先权大小的论述中,不正确的论述是。
A.计算型作业的优先权,应低于I/O型作业的优先权B.系统进程的优先权应高于用户进程的优先权C.资源要求多的作业,其优先权应高于资源要求少的作业D.在动态优先权时,随着进程运行时间的增加,其优先权降低12.产生死锁的原因是有关。
A.与多个进程竞争CPUB.与多个进程释放资源C.仅由于并发进程的执行速度不当D.除资源分配策略不当外,也与并发进程执行速度不当13.有关产生死锁的叙述中,正确的是。
计算机操作系统 第四版 汤小丹 梁红兵 哲凤屏_第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.在关于作业优先级大小的讨论中,正确的讨论是()。
计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
操作系统 第3章 调度与死锁

等待事件
2. 具有高级和低级的调度队列模型 作业 后 备 调度 时间片完 队 列
就绪队列
cpu
进程完成
进程调度
阻塞队列
等待事件
特点 :1)具有进程调度、作业调度 2)根据阻塞原因设置了多个阻塞队列
3.同时具有三级调度的调度队列模型
批量作业 后备队列 交互型作业 作 业 调 度 时间片完
就绪队列
中级调度 就绪挂起队列
进程
P1 P2 P3 P4
• 非抢先式SJF
到达时间 0.0 2.0 4.0 5.0
P1 P3 7 8
执行时间 7 4 1 4
P2 12 P4 16
0
3
• 平均等待时间 = (0 + 6 + 3 + 7)/4 = 4 • 平均周转时间=(7+10+4+11)/4=8 • 平均带权周转时间=
• 3. SJF的变型 – “最短剩余时间优先”SRT(Shortest Remaining Time)(允许比当前进程剩 余时间更短的进程来抢占) – “最高响应比优先”HRRN(Highest Response Ratio Next)(响应比R = (等待时间 + 要求执行时间) / 要求 执行时间,是FCFS和SJF的折衷)
• 面向系统的准则
系统吞吐量高 处理机利用率好 资源的平衡利用
周转时间
• 批处理系统的重要指标。 • 作业从提交到完成(得到结果)所经历的时间 为周转时间。 • 包括:在外存后备队列中等待,CPU上执行, 就绪队列和阻塞队列中等待,结果输出等待。 • 平均周转时间T和平均带权周转时间(带权周 转时间W是 T(周转)/ (CPU执行)) • 平均周转时间: T 1 n T
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 进程调度功能
(1)记录系统中所有进程的执行情况 (2)选择占有处理机的进程(选择算法)
(3)进行进程上下文切换
—个进程的上下文(context)包括进程的状态、 有关变量和数据结构的值、机器寄存器的值等相关 程序、数据。当正在执行的进程让出处理机时,系 统要做进程上下文切换,以使另一个进程得以执行。
第三章 处理机调度与死锁
本章内容
处理机调度 常用调度算法介绍 死锁与预防死锁的方法 本章讨论处理器资源的管理问题。
处理器调度问题决定着整个系统的综合性能。 不同的CPU管理方法将为用户提供不同性能的操 作系统。
3.1 处理机调度的层次
从处理器调度的对象、时间、层次等不同角度, 可把处理器调度分成不同类型。 按照调度涉及的层次不同,从用户作业从进入 系统成为后备作业开始,直到运行结束退出系统 为止,可把处理器调度分成: 高级调度 中级调度 低级调度
不同类型及目标的操作系统,其采用的调度方 式与调度算法通常不同。 1.面向用户的准则 2.面向系统的准则
1.面向用户的准则
(1)周转时间短 周转时间:作业提交计算机开始到完成返回用 户为止的时间间隔。 (2)响应时间快
响应时间:从提交一个请求到首次产生响应的 时间间隔。或者说,用户发送指令给计算机到计 算机返回结果给用户的时间间隔。
完全可抢先或内核完全可抢先
无论当前进程处于用户态还是核心态,都可以 随时可被抢用CPU。如:SUN Solaris(最成 功的UNIX商业变种之一)。 为做到完全可抢先,Solaris对SVR4的核心代 码做了全面修改,大部分的内核全局数据结构都 用正确的同步对象如互斥 锁或信号量来保护, 并通过特殊内核线程实现中断来避免用提高优先 级的方法保护临界区。Solaris内核中只有极少 的不可抢先代码段。
2.进程调试中的三个基本机制
排队器:负责组织各进程队列 分派器:将选中的进程从就绪队列中取出,分配 处理机 上下文切换机制 两对上下文切换:
保存当前进程上下文,装入分派程序上下文 移出分派程序上下文,装入新选进程现场信息
3. 进程调度方式
1)非抢占方式
进程一旦获得处理机后便一起执行下去,直至该进程 完成或发生某事件被阻塞时,才把处理机分配给其他进 程。决不允许某进程抢占已经分配出去的处理机。 当前进程无论在用户态还是核心态都不可以被抢用 CPU。不可抢先式OS:Windows98/95,在这些OS 中,进程从运行态退出只能是自愿或阻塞,不能强迫运 行态就绪态。
作业相关概念
作业:程序+数据+作业说明书 作业步:相对独立相互关联的顺序加工步骤 作业流 作业控制块JCB:作业在系统中的标识,保存有系 统对作业进行管理与调试所需要的全部信息
作业标识 用户名称、用户帐户 作业类型、作业状态 资源需求 调度信息 进入时间、开始处理时间、需求时间 ……
作业调度时要做的决定: (1)接纳多少个作业 (2)接纳哪些作业(调度算法) 作业调度的目标: (1)对所有作业尽量做到公平合理 (2)高设备利用率 (3)执行尽可能多的作业 (4)尽量短的响应时间
3.2 调度队列模型和调度准则
3.2.1 调度队列模型
1.只有进程调度的调度队列模型
内存中维护就绪进程队列和阻塞进程队列。系统可 能以栈、树、链表的方式组织队列。
2.具有高级与低级调度的调度队列模型
外存维护一个后备队列,内存维护就绪进程 队列和阻塞进程队列。
3.同时具有三级调度的调度队列模型
3.2.2 选择调度方式和调度算法的准则
3.1.1 高级调度
高级调度概念
也称为作业调度、长程调度或接纳调度。
按照系统预定的调度策略,决定把外存上处于后备队 列中的哪些作业调入内存,并为它们创建进程、分配必 要的资源,然后再将创建的进程排在就绪队列上,准备 执行。
在批处理操作系统中,作业首先进入系统在辅存上的 后备作业队列等候调度,因此,作业调度是必须的。在 纯粹的分时或实时操作系统中,通常不需要配备作业调 度。
内核完全不可抢先
当前进程在用户态时可随时被抢用CPU,但处 于核心态时完全不可以被抢用CPU。如:传统的 UNIX和Windows。 这类操作系统通常在系调用或中断时屏蔽中 断,系统调用返回或中断返回时开放中断。
内核的部分可抢先
当前进程在用户态时随时被抢用CPU,但处于 核心态时则大部分时间不可以被抢用CPU,只在 某些时刻点(可抢先点)可以被抢用CPU。如: UNIX SVR4。 SVR4内核定义了抢先点:内核代码中的这样 一些位置,内核的数据结构处在一个稳定的状态, 并且内核马上要开始长时间的、大量的计算。此 时,内核检查是否有实时进程就绪需要运行,若 有则抢先当前进程。
3.1.2 低级调度
也称为进程调度、短程调度。 用于决定就绪队列中的哪个进程获得处理机。低级调 度程序是操作系统最为核心的部分,低级调度策略的优 劣直接影响到整个系统的性能。 最初的调度对象是传统操作系统中的进程,随着现代 操作系统引入了多线程技术,进程演变成资源管理的单 位,从而只作为中级调度的对象,内核级线程则替代进 程成为低级调度的对象。
3.1.3
中级调度
中级调度实现进程在主存与外存间的对换。反映到进 程状态上就是挂起和解除挂起。
中级调度将那些暂时不能运行的进程调出主存,此时 这些进程处于挂起状态。当被挂起的进程具备了运行条 件,且主存又有空闲区域时,再由中级调度决定一部分 这样的进程重新调回主存工作。
中级调度起到短期调整系统负荷的作用,调度的依据 是存储资源量和进程的当前状态,目的是提高内存利用 率和系统吞吐量。
引起进程调度的因素:
(1)进程执行完毕,或发生某事件不能再继续 执行 (2)I/O请求
(3)进程通信或同步过程中执行了原语操作 优点:实现实现简单,系统开销小,适用于批处 理系统。 缺点:不能满足紧急任务的要求,不适用于实时 系统。
2)抢占方式
当一个进程正在运行时,调度程序可以基于某种 原则,剥夺已分配给它的处理机,将之分配给其它 进程。 剥夺原则有: (1)优先权原则 (2)短进程优先原则 (3)时间片原则。