操作系统,处理机调度与死锁教案

合集下载

计算机操作系统 第三章 处理机调度与死锁

计算机操作系统 第三章 处理机调度与死锁

3.2.1 短作业(进程)优先算法
这是对FCFS算法的改进,其目标是减少平均 周转时间。
SJF:从后备队列中选择估计运行时间最短的 一个或几个作业调入内存。 SPF:从就绪队列中选择一个估计运行时间最 短的进程,将处理机分配给它。
短进程优先法调度方式
短进程优先算法既可以是非抢占式,也可以是抢 占式。
不同类型及目标的操作系统,其采用的调度方 式与调度算法通常不同。 1.面向用户的准则 2.面向系统的准则
1.面向用户的准则
(1)周转时间短 周转时间:作业提交计算机开始到完成返回用 户为止的时间间隔。 (2)响应时间快
响应时间:从提交一个请求到首次产生响应的 时间间隔。或者说,用户发送指令给计算机到计 算机返回结果给用户的时间间隔。
作业相关概念
作业:程序+数据+作业说明书 作业步:相对独立相互关联的顺序加工步骤 作业流 作业控制块JCB:作业在系统中的标识,保存有系 统对作业进行管理与调试所需要的全部信息
作业标识 用户名称、用户帐户 作业类型、作业状态 资源需求 调度信息 进入时间、开始处理时间、需求时间 ……
作业调度时要做的决定: (1)接纳多少个作业 (2)接纳哪些作业(调度算法) 作业调度的目标: (1)对所有作业尽量做到公平合理 (2)高设备利用率 (3)执行尽可能多的作业 (4)尽量短的响应时间
1.面向用户的准则
(3)截止时间的保证 评价实时系统的重要指标。
截止时间:任务必须开始执行的最迟时间,或必 须完成的最迟时间。 (4)优先权准则:关键任务得到更好的性能指 标
(5)公平性:确保每个用户每个进程获得合理 的CPU份额或其他资源份额。
2.面向系统的准则
(1)系统吞吐量高 吞吐量:单位时间内系统完成的作业数。 (2)处理机利用率高:大中型系统的主要指 标

操作系统第三章处理机调度与死锁

操作系统第三章处理机调度与死锁

Event
Event Queue
32
Exit
Start
Ready Queue Time Slice CPU
Event
Event Queue
33
Exit
Start
Ready Queue Time Slice CPU
Event
Event Queue
34
3.2.2 短作业优先
(SJF, Shortest Job First)
2
主要内容


处理机调度的基本概念
调度算法


实时调度
多处理机系统中的调度


产生死锁的原因和必要条件
预防死锁的方法

死锁的检测与解除
3
3.1

处理机调度的基本概念
3.1.1 高级、中级和低级调度
处理机( CPU )在进程之间的动态分配和切换,
涉及到三种类型(或者说三个层次)的调度,
即高级调度(也叫作业调度、长程调度)、中
执行 时间 1 100 1 100
开始执 行时间 0 1 101 102
完成时 周转时 带权周 间 间 转时间 1 101 102 202 1 100 100 199 1 1 100 1.9919
CPU Scheduler Example

Process 1 burst computes for 14 time units Process 2 burst computes for 8 time units Process 3 burst computes for 8 time units
Hale Waihona Puke I/OChild Terminates

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

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

2决定接纳哪些作业
选用何种调度算法:先来先服务、 短作业优先、基于作业优先级、响 应比高者优先。
PPT课件
6
注意
批处理系统中,作业是首先进入外存, 然后经由作业调度分批进入内存;
分时系统及实时系统中,由于对响应 时间有要求,因此用户输入的命令和数据 等是直接进入内存的,无须配置作业调度 机制。
PPT课件
PPT课件
14
同时具有三级调度的调度队列模型
作业 调度
后备队列
中级 调度
时间片完 就绪队列 就绪、挂起队列
进程调度
进程完成
CPU
挂起
事件出现
事件发生
阻塞、挂起队列 阻塞队列
挂起 等待事件
具有高、低、中三级调度的调度队列模型
PPT课件
15
选择调度方式和调度算法的若干准则
• 面向用户的准则
– 周转时间短(批处理) – 响应时间快(分时) – 截止时间保证(实时) – 优先权准则(all)
4
2 作业控制块
多道批处理系统中,为每个作业配备一个作业 控制块(JCB),它是作业在系统中存在的标志。
作业运行期间,系Biblioteka 按照JCB中的信息对作业进行 控制。
JCB中保存了系统对作业进行管理和调度所需 的全部信息。例如:作业标识、用户名称、用户帐 户、作业类型、作业状态、调度信息、资源需求、 进入系统时间、开始处理时间、作业完成时间、作 业退出时间、资源使用情况等。
第三章 处理机调度与死锁
要解决的三个问题:
WHAT:按什么原则分配CPU? —进程调度算法
WHEN:何时分配CPU? —进程调度的时机
HOW: 如何分配CPU? —CPU调度过程(进程的上下文切换)

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

计算机操作系统教案_第03章 处理调试与死锁

计算机操作系统教案_第03章 处理调试与死锁

表示为:
W
1 n
n i1
Ti TSi
14
第三章 处理机调度与死锁
(2) 响应时间快:从用户提交申请,到出现第一个 响应之间的时间
(3) 截止时间的保证:实时系统,最晚执行的时间 (4) 优先权准则。(甚至抢占式以完成紧急任务)
15
第三章 处理机调度与死锁
2. (1) 系统吞吐量高。吞吐量:在单位时间内完成的作业数 (2) 处理机利用率好。 (3) 各类资源的平衡利用。
26
第三章 处理机调度与死锁
3. 高响应比优先调度算法
优先权的变化规律可描述为:
优先权
等待时间 要求服务时间 要求服务时间
由于等待时间与服务时间之和,就是系统对该作业的响应 时间,故该优先权又相当于响应比RP。据此,又可表示为:
优先权
等待时间 要求服务时间 要求服务时间
响应时间 要求服务时间
27
24
第三章 处理机调度与死锁
(1) 进程类型。 (2) 进程对资源的需求。 (3) 用户要求。
25
第三章 处理机调度与死锁
2)
动态优先权是指,在创建进程时所赋予的优先权,是可 以随进程的推进或随其等待时间的增加而改变的,以便获得 更好的调度性能。例如,我们可以规定,在就绪队列中的进 程,随其等待时间的增长,其优先权以速率a提高。若所有的 进程都具有相同的优先权初值,则显然是最先进入就绪队列 的进程,将因其动态优先权变得最高而优先获得处理机,此 即FCFS算法。若所有的就绪进程具有各不相同的优先权初值, 那么,对于优先权初值低的进程,在等待了足够的时间后, 其优先权便可能升为最高,从而可以获得处理机。当采用抢 占式优先权调度算法时,如果再规定当前进程的优先权以速 率b下降,则可防止一个长作业长期地垄断处理机。

安徽大学 操作系统 处理机调度与死锁

安徽大学 操作系统   处理机调度与死锁
19
3.6.3 利用银行家算法避免死锁
(3) 系统试探着把资源分配给进程Pi,并修改下 面数据结构中的数值:
Available[j] ∶= Available[j]-Requesti[j]; Allocation[i,j]∶= Allocation[i,j]+Requesti[j] ; Need[i,j] ∶= Need[i,j]-Requesti[j];
假定系统中有五个进程{P0, P1, P2, P3, P4}和三类资源{A, B, C},各种资源 的数量分别为10、5、7,在T0时刻的资源 分配情况如图 3-15 所示。
23 图 3-15 T0时刻的资源分配表
3.6.3 利用银行家算法避免死锁
(1) T0时刻的安全性:
图 3-16 T0时刻的安全序列
17
3.6.3 利用银行家算法避免死锁
(2) 最大需求矩阵Max。这是一个n×m的矩阵,它 定义了系统中n个进程中的每一个进程对m类资源 的最大需求。如果Max[i,j]=K,则表示进程i 需要Rj类资源的最大数目为K。 (3) 分配矩阵Allocation。这也是一个n×m的矩阵 ,它定义了系统中每一类资源当前已分配给每一 进程的资源数。如果Allocation[i,j]=K,则 表示进程i当前已分得Rj类资源的数目为K。 (4) 需求矩阵Need。这也是一个n×m的矩阵,用以 表示每一个进程尚需的各类资源数。如果Need[ i,j]=K,则表示进程i还需要Rj类资源K个,方 能完成其任务。 Need[i,j]=Max[i,j]-Allocation[i,j]
6
3.5.1
产生死锁的原因
2. 进程推进顺序不当引起死锁
1) 进程推进顺序合法
P2 Rel(R ) 1 P2 Rel(R ) 2 P2 Req (R1 ) P2 Req (R2 ) ④ D ③ ① ②

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

第三章处理机调度与死锁31处3.1处理机调度的层次和调度算法的目标32理机调3.2作业与调度算法3.3进程调度度与3.4 实时调度死锁3.5 死锁概述3.6 预防死锁3.7避免死锁383.8死锁的检测与解除3.13.1处理机调度的层次处311P85理机调 3.1.1 高级调度312度与 3.1.2 低级调度313死锁 3.1.3中级调度❑高级调度(High-Level Scheduling)又称作业调度,决定后备作业中谁调入内存运行处❑低级调度(Low-Level Scheduling)理机调又称进程调度,决定就绪队列中哪个进程获得度与CPU ;死锁❑中级调度(Intermediate-Level Scheduling)又称在虚拟存储器中引入,在内、外存对换区进行进程对换行进程对换。

高级调度(High Level Scheduling)又称作业调度或长程调度处 功能:按照一定的算法,从外存的后备队列中选取某些并为它们创建进程理机调作业调入内存,并为它们创建进程、分配资源,再将进程插入就绪队列,准备执行。

度与死锁 作业和作业步作业控制块 作业调度作业和作业步(1)作业(Job)比程序更为广的概念含:程序+数据+作业说明书处比程序更为广的概念,含:程序+数据+作业说明书根据说明书,对程序进行控制。

批处理系统中,以作业为基本单位从外存调入内存理机调作业为基本单位从外存调入内存。

(2)作业步(Job Step),Demo run作的行过若个相独立相关联的序加步度与作业的运行经过若干个相对独立、又相互关联的顺序加工步骤,每个加工步骤称为一个作业步。

“编译”作业步,死锁例如,典型的作业可分成三个作业步:①编译作业步,②“连结装配”作业步;③“运行”作业步(3)作业流()作流若干个作业进入系统后,依次存放,形成输入的作业流;在操作系统的控制下,逐个作业进行处理,形成处理作业流。

事物都需操控指挥中心事物都需操控、指挥中心,so is the 作业处理机调度与死锁为管理和调度作业,多道批处理系统为每个作业设置个作业控制块是作业在系统中处置一个作业控制块JCB,JCB是作业在系统中存在的标志,保存系统对作业进行管理和调度所需的全部信息理机调信息。

操作系统处理机调度和死锁OS3 (2)课件


pi
rj
申请边
rj
pi
分配边
资源分配图:用结点和有向边描述系统的状态,状 态的改变通过申请、分配、释放三种操作实现。
1) 资源分配图
用圆圈代表一个进程,用方框代
P1
表一类资源。由于一种类型的资 源可能有多个,用方框中的一个
r1
r 点代表一类资源中的一个资源。
2
P2
左图中表示P1进程已经分得了 两个r1资源,并又请求一个r2资
1.将其资源分配图化简 Work:= Work+ Allocationi 2.将它记入L表中 ❖ 若不能把所有进程都记入L表,则状态S资源分配图不可完全 化简,该系统发生死锁。
检测死锁的算法
Work:=Available; L:={Li|Allocationi=0∩Requesti=0} For all Li∈L do
Finish: ARRAY[1..n] of Boolean;
• 安全性检查的步骤:
(1) Work:=Available; Finish:=false;
(2) 寻找满足条件的i:
① Finish[i]=false; ② Need[i]≤Work;
如果不存在,则转(4) (3) Work:=Work+Allocation[i];
如:系统平均每二年发生一次系统崩溃(死锁)
OS故障,平均6个月一次
编译器故障,平均6个月一次
如何对待?数学家(理论上的严密);工程师(技 术上的可行性、代价、系统性能)
1) 资源分配图
用有向图描述进程的死锁,图中包括:
进程结点集合: P={p1,p2,…,pn} 资源结点集合: R={r1,r2,…,rm} 有向边集合: E={(pi,rj),(rj,pi)}

操作系统第3章

给其抢它占进原程则,有决:不允许某进程抢占已 经分配优出先去权的原处则理;机。 优点:短实作现业简优单先,原系则统;开销小。 缺点:时难间于片满原足则紧。急任务的要求。
3.1 处理机调度的基本概念
3. 中级调度
挂起和激活,存储器管理中的对换功能。
主要目的: 为了提高内存的利用率和系统的吞吐量。
三种调度相比较:
● 高级调度的相关概念
作业:用户一次请求计算机系统为其完成任务所做工作 的总和。它通常包括程序、数据和作业说明书,系统根 据说明书对程序进行控制。 作业步:指每个作业在运行期间,都必须经过若干个相 对独立,又相互关联的顺序加工步骤,其中的每一个加 工步骤称为作业步。一个典型的作业可分成三个作业 步:① “编译”作业步,② “连结装配”作业步,③ “运行”作业步 作业状态:作业状态分为后备、运行和完成三种状态。 作业控制块(Job Control Block,JCB)
调度方式
3.1.3 选择调度方式和调度算法的若干准则 2. 面向系统的准则吞吐量:单位时间内系统所
完成的作业数
(1)系统吞吐量高
调度方式和算法对处理机的
(2)处理机利用率好 利用率起着十分重要的作用
(3)各类资源的均衡利 用
对于单用户微机或某些实 时系统,该准则并不重要
3.2 调度算法
3.2.1 先来先服务调度算法
进程插入到就决定: ●接纳多少个作业——取决于多道程序度 ●接纳哪些作业——取决于调度算法
▲内存中同时运行的 作业数目太多,会影 响系统的服务质量。 如,周转时间长。
▲内存中同时运行的 作业数目太少,会导 致系统资源利用率和 系统吞吐量低。
3.1.1 高级、中级和低级调度
算,而很少请求I/O。如,科学计算

第3章 处理机调度与死锁2

第9 次课教案3.5 产生死锁的原因和必要条件假设系统中有P 1、P 2两个并发执行的进程,P 1和P 2在执行中同时需要R 1和R 2两类资源,其中R 1是输入机,R 2是打印机,P 1和P 2的执行过程如下:死锁是指系统中并发执行的进程彼此互相等待对方已经拥有的资源,这些并发执行的进程在得到对方的资源之前又不释放自己拥有的资源,从而使得所有的进程都陷入阻塞的状态,而不能再向前推进的一种僵局的状态。

一、死锁的形成原因 ⒈ 资源分配图资源分配图是由一组结点和一组边E 所组成的点对集合,即G=(N ,E),具有下述定义和限制: ⑴N 是两个互斥的子集,一组是进程结点P={P 1,P 2,P 3,……},一组是资源结点R={R 1,R 2,R 3,……},N=P ∪R 。

⑵E 中的每条边连接P 中的一个结点和R 中的一个结点。

如果E 中的一条边e={P i,R j },表示进程P i 请求资源R j ;如果E 中的一条边e={R j ,Pi},表示资源R j 已经分配给了进程P i 。

资源分配图⒉ 形成原因 ⑴竞争资源P 1 () {…… 申请R 1; …… 申请R 2;使用R 1和R 2; 释放R 1和R 2;}P 2 () {…… 申请R 2; …… 申请R 1;使用R 1和R 2; 释放R 1和R 2;}系统中并发执行的进程共享着系统中的资源,系统中的资源数不足以满足所有进程的最大需求,所以进程间将会竞争资源,从而才有可能出现进程间相互等待对方资源的情况。

⑵进程推进顺序不当●进程推进顺序合理P1进程推进顺序对死锁的影响二、产生死锁的必要条件⒈互斥条件⒉不可剥夺条件⒊请求与保持条件⒋环路等待条件环路等待条件是死锁产生的必要条件而不是充分条件,即进程和资源之间形成环路却不一定会产生死锁。

三、处理死锁的基本方法⒈预防死锁⒉避免死锁⒊检测死锁⒋解除死锁3.6 死锁的预防和避免一、死锁的预防死锁的预防是解决死锁的一种静态策略,破环死锁的4个必要条件,从而达到防止死锁的目的。

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