第3章处理机调度与死锁解析

合集下载

第3章 调度与死锁

第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
截止时间
• 实时系统的重要指标。 • 开始截止时间和完成截止时间 • 某任务必须开始执行的最迟时间,或必 须完成的最迟时间。
优先权原则

第三章处理机调度及答案

第三章处理机调度及答案

进程管理
进程管理
【解答】 ①系统资源总数向量为(9, 3, 6) 各进程对资源需求矩阵为: ②采用银行家算法进行计算分析可知:
进程管理
2、调度算法
现有如下作业序列:作业1(提交时间8.00,运行时间 1.00);作业2(提交时间8.30,运行时间3.00);作 业3(提交时间9.00,运行时间0.10);作业4(提交 时间9.30,运行时间0.50)(单位:小时,以十进制 计)。 试用先来先服务和短作业优先调度算法处 理该作业序列,问哪种作业调度算法性能更好(要求给 出计算的数据和必要的步骤)。(华中科技大学2001年 试题)
处理机调度作业
进程管理
1、银行家算法
某系统有R1、R2和R3共3种资源,在T0时刻P1、P2、P3 和P4这4个进程对资源的占用和需求情况见表2.2,此刻 系统的可用资源向量为(2, 1, 2),问题:(中科院软 件所1999年试题) ①将系统中各种资源总数和此刻各进程对各资源的需求 数目用向量或矩阵表示出来;②如果此时P1和P2均发出 资源请求向量Request(1, 0, 1),为了保持系统安全 性,应该如何分配资源给这两个进程?说明你所采用策 略的原因;③如果②中两个请求立刻得到满足后,系统 此刻是否处于死锁0
40
50
60
70
80
90
J1: IO2(30ms), CPU(10ms), IO1(30ms), CPU(10ms). J2: IO1(20ms), CPU(20ms), IO2(40ms). J3: CPU(30ms), IO1(20ms).
进程管理
【解答】 (1) 由上图可知:J1从开始到完成的时间是0~ 80msJ2从开始到完成的时间是0~90msJ3从开始到 完成的时间是0~90ms (2) 三个作业全部完成时CPU的利用率是:

计算机操作系统 第四版 汤小丹 梁红兵 哲凤屏_第3章(20162017)

计算机操作系统 第四版 汤小丹 梁红兵 哲凤屏_第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 批处理系统中的作业

2013 第三章 处理机调度课堂讨论-习题解析

2013 第三章 处理机调度课堂讨论-习题解析
A.时间片轮转 B.先来先服务 C.短作业(进程)优先 D.优先权调度
第三章 处理机调度与死锁(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章 处理机调度(调度)

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 ——抢占式
到达顺序: 进程名 到达时间 服务时间

chap3-1

chap3-1

存阻塞状态。在调出操作的作用下,可使内存就
绪转变为外存就绪、内存阻塞转变为外存阻塞;
在中级调度的作用下,可使外存就绪转变为内存
就绪。
作业调度 批量作业 后备队列 交互型作业
时间片完 进程调度 就绪队列 CPU 进程完成
中级调度 就绪、挂起队列
事件出现 事 件 出 现 阻塞、挂起队列 挂起 等待事件
周转时间和平均周转时间
所谓周转时间,是指从作业提交给系统开始,到作业完成为
止的这段时间间隔,它包括: (1)作业在外存后备队列上等待(作业)调度的时间; (2)进程在就绪 队列上等待进程调度的时间;
(3)进程在CPU上执行的时间;
(4)等待I/O操作的时间。
1 n 平均周转时间为: T Ti n i 1 带权周转时间: W=T/Ts
(1)该任务在该时间片内已经完成,该进程释放处理 机后进入完成状态;
(2)任务在本次其对应的时间片内尚未完成,OS便将 该任务放在就绪队列的后面;
(3)在执行期间,进程因某事件而被阻塞后,OS将它 放入阻塞队列。
时间片完 交互用户
就绪 队 列
进程调度
CPU
进程完成
事 件 出 现
阻塞 队列
等待事件
图3-1 仅有进程调度的调度队列模型
3.1 处理机调度的基本概念
The basic concepts of processor scheduling
3.1.1 高级、中级和低级调度 一般来说,处理机调度可以分成三级:

高级调度(High Level Scheduling)
作业调度(job scheduling)

低级调度(Low Level Scheduling)

计算机操作系统(第四版)课后习题答案第三章

计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁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章处理机调度与死锁课后习题解答

第3章处理机调度与死锁课后习题解答
8
第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.高级调度与低级调度的功能是什么? 【解答】高级调度即作业调度。作业调度又称为高 级调度或长调度,用于选择把外存上处于后备队列 中的哪些作业调入内存,并为它们创建进程、分配 必要的资源。然后,再将新创建的进程排在就绪队 列上,准备执行。低级调度又称为进程调度,它的 功能是按照某种策略和算法,将处理机分配给一个 处于就绪状态的进程。

计算机处理机调度与死锁思维导图

计算机处理机调度与死锁思维导图

分派器
上下文切换
非抢占方式
进程调度方式
优先权原则
抢占方式
短进程优先原则
时间片原则
保存处理机的现场信息
进程调度的任务
按某种算法选取进程
把处理器分配给进程
低级调度(进程调度)
优先级调度算法
优先级调度算法的类型
非抢占式优先级调度算法
等当前进程执行完以后,再执行另一个优先权最 高的进程
这种调度算法主要用于批处理系统中;也可用于 某些对实时性要求不严的实时系统中。
批处理系统的目标
系统吞吐量高
处理机利用率高
分时系统的目标
响应时间快 均衡性
实时系统目标
截止时间的保证 可预测性
高级调度(作业调度)
分时系统无需作业调度,因为需要交互 批处理系统需要作业调度
中级调度(和挂起有关)
进程调度是最基本的调度,任何操作系统都有进 程调度。
处理机调度的层次
排队器
低级调度的三个基本机制
银行家算法中的数据结构
利用银行家算法避免死锁
处理死锁的方法
需求矩阵 N e [ , ]:它表示每个进程尚需的 各类资源数,N e [ , ]= 表示进程 还需要 类资源 个。N e [ , ]=M [ , ] -
A loca i [ , ]
银行家算法
安全性算法
银行家算法之例
矩阵 列表
解题
选择一个没有阻塞的进程
请求和保存条件
不可抢占条件
如果每个资源只有一个实例,则环路等待条件是 死锁存在的充分必要条件
循环等待条件
产生死锁的必要条件
静态方法,在进程执行前采取的措施,通过设置 某些限制条件,去破坏产生死锁的四个条件之 一,防止发生死锁。

计算机操作系统(汤小丹第三版)第3章 处理机调度与死锁

计算机操作系统(汤小丹第三版)第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.摒弃"不剥夺"条件:系统规定,进程是逐个地提出对资源的要求的。

计算机操作系统(第四版)课后习题答案第三章

计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁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.下列算法中,操作系统用于作业调度的算法是。

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.有关产生死锁的叙述中,正确的是。

计算机操作系统 第三版 第三章处理机调度

计算机操作系统 第三版 第三章处理机调度

周转时间 (分钟) 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-3

os-3

10:00 10:30 2. 00
统 |
3
9:00 0. 10
10:30 10:36 1. 6
调 4 9:30 0. 20 10:36 10:48 1. 3



锁 平均周转时间 T=1.725(小时)
15 平均带权周转时间 W=6.875
1. 00 4. 00 16. 00 6. 5
CUIT 徐虹
¾时间片轮转调度算法
操 作 系 统 | 调 度 与 死 锁
46
CUIT 徐虹
23
¾非抢占优先权调度算法
操 作 系 统 | 调 度 与 死 锁 47
CUIT 徐虹
¾基于时钟中断抢占的优先权调度算法
操 作 系 统 | 调 度 与 死 锁 48
CUIT 徐虹
24
¾立即抢占的优先权调度
操 作 系 统 | 调 度 与 死 锁
Tei: 完成时间 Tbi:提交时间
Twi:等待时间 Tsi:执行时间
有n个作业的作业流,其平均周转时间:
T = 1/n [T1 + T2 + ……+ Tn ]
¾带权周转时间 比较某种调度算法对不同作业流的调度性能。

Wi=Ti/Tsi

系 平均带权周转时间:

|
W = 1/n [W1 + w2 + …… + Wn ]

最后的第N队列,在第N队列中便采取按
度 与
时间片轮转的方式执行。

¾仅当第i队列空闲时,才调度第i+1队列。

如有新进程进入优先级较高的队列,则
36
剥夺CPU执行新进程,旧进程放入原队
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

进程调度采用两种方式: ①非抢占方式: • 一旦分配处理机,进程就一直执行,直至完成或
发生某事件而被阻塞,不允许其它进程抢占处理 机。
• 优点:简单、系统开销小,适合大多数批处理系统 • 缺点:无法满足紧急任务的需要,不适合实时系统
②抢占方式: • 允许调度程序根据某原则,暂停正在执行的进 程,将处理机重新分配。 • 抢占原则:优先权原则 、短作业(进程)优先原 则、时间片原则
包括四部分:
等待作业调度时间(高级调度) 等待进程调度时间(低级调度) 执行时间 进程等待I/O操作完成时间
平均周转时间: t
1 n
n
ti
i 1
ti = tci-tsi
ti: 作业周转时间,tci:作业完成时间,tsi: 作业提 交(到达)时间
带权周转时间:
wi
ti tr
tr: 作业实际运行时间
先来先服务 短作业(进程)优先 高优先权先调度 时间片轮转 多级反馈队列
1、 先来先服务(FCFS)
可用于作业调度和进程调度
进程 到达 服务 开始执 完成 周转 带权周 名 时间 时间 行时间 时间 时间 转时间
A0 1
0
11
1
B 1 100 1 101 100 1
C 2 1 101 102 100 100
3、中级调度(中程调度)
目的:为了缓解内存紧张问题,将那些暂时不能 运行的进程调到外存上去等待。
当进程运行条件具备、且内存又空闲时,中级调 度程序决定将外存上的哪些进程重新调入内存。
进程状态:Ready <->Ready suspend, Blocked <->Blocked suspend
第三章 处理机调度与死锁
3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度(*) 3.4 产生死锁的原因和必要条件 3.5 死锁问题的解决方法
外存
提交 收容
就绪
阻塞




就绪
阻塞
内存
执行
完成
低级调度
高级调度
3.1 处理机调度的基本概念
高/中/低级调度 调度队列模型 调度方式和算法的选择准则
截止时间保证——评价实时系统 优先权准则——三种系统中皆适用 公平性原则—— 分时系统
面向系统的准则
系统吞吐量高——评价批处理系统 处理机利用率好——针对大中型系统 各类资源的平衡利用——对大中型系统
周转时间 (通常作为评价批处理系统的性能、 选择作业调度方式与算法的重要准则之一): 是指从作业被提交系统开始,到作业完成为 止的这段时间间隔。
等待事件n
具有高、低两级调度的调度队列模型
作业 调度
后备队列
中级 调度
时间片完
就绪队列
进程调度
进程完成
CPU
挂起
挂起就绪队列
事件出现
事件发生
挂起阻塞队列 阻塞队列
挂起 等待事件
具有高、低、中三级调度的调度队列模型
3.1.3 调度方式和算法的选择准则
面向用户的准则 周转时间短——评价批处理系统 响应时间快——评价实时,分时系统
3.1.1 处理机调度的层次
1、高级调度(作业调度 / 长程调度 / 接纳调度)
多用于批处理系统,决定外存上处于后备队列中 的哪些作业调入内存。
每次调度时要考虑:
(1)接纳多少作业:取决于多道程序度 (2)接纳哪些作业:取决于调度算法
系统规模 运行速度
作业调度运行频率低,几分钟一次
2、低级调度(进程调度/ 短程调度) 用来决定就绪队列中哪个进程应获得处理机,然后再 由分派程序(Dispatcher)执行处理机分配操作。 进程状态:Ready <->Running 引起进程调度的原因有: 进程正常终止或异常终止 正在执行的进程因某种原因而阻塞(I/O请求) 分时系统中时间片用尽 当有一个优先级更高的进程就绪(可抢占式) 在进程通信中,执行中的进程执行了某种原语操作。 如:wait/signal操作、Block原语、wakeup原语等 运行频率高,几十毫秒一次,算法不能太复杂,以免 占用太多的CPU时间。
平均带权周转时间:
w
1 n
n i 1
wi
响应时间(用来评价分时系统的性能,选择分时 系统中进程调度算法的重要准侧之一):
从用户通过键盘提交一个请求开始直至系统首次 产生响应为止的时间。
响应时间包括三部分时间:从键盘输入的请求信 息传送到处理机的时间、处理时间、响应信息回 送终端的时间。
3.2 调度算法
带权周转时间 1 2.67 3.2 1.5 2.25 2.1
3、高优先权优先调度算法(HPF)
作业调度:从后备队列中选择若干个优先权最高的作业装入内存。
进程调度:把处理机分配给就绪队列中优先权最高的进程
非抢占式优先权算法:
一旦分配处理机给优先权最高的进程,进程便一直执行直至 完成,或发生某事件而被阻塞。
运行频率介于高级调度和低级调度之间。
3.1.2 调度队列模型
交互用户
时间片完
就绪队列
进程调度
进程完成
CPU

件 发 生
阻塞队列
等待事件
仅具有进程调度的调度队列模型
作业 调度
后备队列
时间片完
就绪队列
进程调度
进程完成
CPU
事件1发生
阻ห้องสมุดไป่ตู้队列
等待事件1
事件2发生
阻塞队列 ……
等待事件2
事件n发生
阻塞队列
作 调业
度情 算况 法
进程名
到达时间 服务时间 完成时间
AB
C
D
E
平 均
01 2 3 4 43 5 2 4 4 7 12 14 18
周转时间 4 6 10 11 14 9 FCFS
带权周转时间 1 2 2 5.5 3.5 2.8
完成时间 4 9 18 6 13
周转时间 4 8 16 3 9 8 SJF
短进程优先(SPF)
从就绪队列中选出估计运行时间最短的进程,将处理机分配 给它,使它立即执行。
直到运行完成,或发生某事件而被阻塞,进程才会让出处理 机——非抢占式。
优点:
有效地降低了作业的平均等待时间,提高系统的吞吐量。
缺点:
对长作业不利,有可能长期不被调度。 完全没考虑作业的紧迫程度(某些特殊的)。 用户做出的估计时间带有很大的主观性。
D 3 100 102 202 199 1.99 周优有转缺利时点 于间: 长实作业现(简=进单完程成)时,间不–利到于达短时作间业(进程)。 带有权利周于转CP时U间繁忙=型周作转业时,间不/利服于务I(/O运繁行忙)型时作间业。
2、短作业 / 进程优先(SJF/SPF)
短作业优先(SJF)
从后备队列中选择估计运行时间最短的作业,调入内存运行。
相关文档
最新文档