chap3处理机调度与死锁

合集下载

第三章 处理机调度与死锁

第三章    处理机调度与死锁
8
第三章 处理机调度与死锁
3. 分时系统的目标 (1) 响应时间快
响应时间指用户提交请求到系统首次响应为止的时 间。
(2) 均衡性。 系统响应时间的快慢应与用户所请求的复杂性相适
应。
9
第三章 处理机调度与死锁
4. 实时系统的目标 (1) 截止时间的保证。 (2) 可预测性。
10
第三章 处理机调度与死锁
第三章 处理机调度与死锁
第三章 处理机调度与死锁
3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度 3.5 死锁概述 3.6 预防死锁 3.7 避免死锁 3.8 死锁的检测与解除 习题
1
第三章 处理机调度与死锁
3.1 处理机调度的层次和调度算法的目标
为了提高系统效率,应当让管理输入输出的I/O进程与计算 进程搭配起来,并给予I/O进程较高的优先级。这样,一旦 I/O进程被唤醒就可很快得到运行,启动低速外设,而后再 被阻塞起来让计算进程使用CPU,使主机和外设高度并行 运行。
24
第三章 处理机调度与死锁
2. 高响应比优先调度算法(Highest Response Ratio Next,HRRN)
16
第三章 处理机调度与死锁 17
第三章 处理机调度与死锁
FCFS算法的优缺点 • 比较有利于长作业(进程),而不利于短作业(进
程)。 上图中短作业C的带权周转时间高达100,不能容忍。 而D仅为1.99。 • FCFS算法有利于CPU繁忙型作业(该类型的作业需 要大量CPU时间进行计算,很少I/O。)不利于I/O繁 忙型作业(频繁的请求I/O服务的作业)
5
第三章 处理机调度与死锁
2. 批处理系统的目标 (1) 平均周转时间短。 对每个用户而言,都希望自己作业的周转时间最短。但 作为计算机系统的管理者,则总是希望能使平均周转时间最 短,这不仅会有效地提高系统资源的利用率,而且还可使大 多数用户都感到满意。应使作业周转时间和作业的平均周转 时间尽可能短。否则,会使许多用户的等待时间过长,这将 会引起用户特别是短作业用户的不满。可把平均周转时间描 述为:

3处理机调度与死锁

3处理机调度与死锁

第三章 处理调度与死锁
3. 同时具有三级调度的调度队列模型
作业调度
时间片完
后备队列 批量作业
交互型作业
就绪队列 中级调度
就绪挂起队列
进程调度 CPU
事件出现
进程完成
阻塞挂起队列

件 出
挂起

阻塞队列
等待事件
具有三级调度时的调度队列模型
第三章 处理机调度与死锁
3.2作业调度
3.2.1作业调度的职能
第三章 处理机调度与死锁
3.3.3 高优先权优先调度算法
选择优先级高的进程和作业作为调度对象。 按抢占与否优先数可分:
非抢占的优先调度算法 可抢占的优先调度算法 按静态,动态优先数可分: 静态优先数 动态优先数
第三章 处理机调度与死锁
1)非抢占式优先权算法 在这种方式下,系统一旦把处理机分配给就绪队列中优 先权最高的进程后,该进程便一直执行下去,直至完 成; 或因发生某事件使该进程放弃处理机时,系统方 可再将处理机重新分配给另一优先权最高的进程。这 种调度算法主要用于批处理系统中;也可用于某些对 实时性要求不严的实时系统中。
第三章 处理机调度与死锁
例题
进程 1 2 3 4 5
到达时间 0 2 4 6 8
服务时间 3 6 4 5 2
优先数 2 5 3 6 1
第三章 处理机调度与死锁
作业1 作业2 作业3 作业4 作业5
03 9
13 18 20
T=1/5(3+7+9+12+12)=8.60 W=1/5(1+1.17+2.25+2.40+6.00)=2.56
第三章 处理机调度与死锁

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

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

进程调度采用两种方式: ①非抢占方式: • 一旦分配处理机,进程就一直执行,直至完成或
发生某事件而被阻塞,不允许其它进程抢占处理 机。
• 优点:简单、系统开销小,适合大多数批处理系统 • 缺点:无法满足紧急任务的需要,不适合实时系统
②抢占方式: • 允许调度程序根据某原则,暂停正在执行的进 程,将处理机重新分配。 • 抢占原则:优先权原则 、短作业(进程)优先原 则、时间片原则
包括四部分:
等待作业调度时间(高级调度) 等待进程调度时间(低级调度) 执行时间 进程等待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
第三章 处理机调度与死锁

第三章 处理机调度与死锁.ppt

第三章 处理机调度与死锁.ppt

第三章 处理机调度与死锁
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 t
A (a) q= 1
B
A B
A
A
B
C
C
C
C
D
D
E
E
E
E
(b) q= 4
第三章 处理机调度与死锁
作业 情况
时间片
RR q=1
RR q=4
进程名 到达时间
A
B
C
0
1
2
服务时间
4
3
4
完成时间
15 12 16
第三章 处理机调度与死锁 3.1 处理机调度的层次和调度算法的目标 3.1.2 处理机算法的目标
①作业平均周转时间(T)
n
T=( Ti )× 1
i =1
n
②带权平均周转时间(W)
n
W=(
Ti )×
1
i = 1 ri
n
n为作业数目, 第i个作业的周转时 间 Ti = Ei– Si Ei:作业完成时间 Si:作业提交时间
2 进程调度机制 (1)排队器 (2)分派器 (3)上下文切换机制
3.3 进程调度
第三章 处理机调度与死锁
3 调度方式 (1)非抢占式
*引发进程调度的事件——执行完毕、进程阻塞、执行原语 *特点——实现简单、开销小、不能立即执行
(2)抢占式
*基本原则—优先权原则、短作业(进程)优先、时间片原则 *特点—开销大、公平、响应及时
第三章 处理机调度与死锁
3.3 进程调度 3.3.2 轮转调度算法(RR)
1 轮转法的基本原理
按FCFS将就绪进程排成一个就绪队列,进程按时间片轮 流使用CPU。

第3章处理机调度与死锁132页PPT

第3章处理机调度与死锁132页PPT

作为系统管理者希望作业平均周转时间最短,有利于大多数
用户 可把平均周转时间描述为:T
1 n
n
Ti i1
作业的周转时间T与系统为它提供服务的时间TS之比,即
W=T/TS,称为带权周转时间,而平均带权周转时间则可表
示为:
W
1 n
n i1
Ti TSi
2020/5/8
12
3调度基本准则
目的
是为了进一步提高主存的利用率和系统的吞吐量。管理 进程在内外存间的交换,从存储器资源管理的角度来看, 把进程的部分或全部换出到外存上,可为当前运行进程 的执行提供所需内存空间。
2020/5/8
4
三种调度中,进程调度运行频率最高,在分 时系统中通常是10~100ms便进行一次进程 调度,因而进程调度算法不能太复杂。 作业调度往往是发生在一个(批)作业运行 完毕,退出系统,而需要重新调入一个(批) 作业进入时,帮作业调度的周期较长,大约 几分钟一次。 中级调度的运行频率,介于上述两种调度之 间
2020/5/8
3
中级调度
系统将那些暂时不能运行的进程从主存调到外存(仍然 保持进程状态)上的特定区域,这些在外存存放的进程 所处的状态称为就绪驻外状态或挂起状态。当这些进程 的运行条件具备,且主存又有空闲时,在中级调度的控 制下,再将处于外存上的那些重新具备运行条件的就绪 驻外进程调入主存,并将其状态修改为就绪状态,放入 就绪队列,等待进程调度。
① 就绪队列的形式:在批处理系统中,最常用的是最高优 先权调度算法,相应的最常用的就绪队列形式是优先权 队列。(仅有进程调度的模型就绪队列采用FIFO队列形 式)
② 设置多个阻塞队列。
2020/5/8
8
调度队列模型
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.2 调度算法——作业调度
3、进程调度程序 进程调度程序的主要任务:实现进程从“就绪状 态”到“运行状态”的转变。它总是按照确定 的调度算法从就绪队列中选择一个进程,让它 占有CPU运行,进程调度程序为作业分配的是 一台真实的物理处理机。 4、交通控制程序 交通控制程序负责进程状态的转换和进程之间的 通信。
进程Q B1:请求打印机 B2:请求读卡机 B3:释放读卡机 B4:释放打印机
分析上面四种执行顺序哪个可能会产生死锁
产生死锁的必要条件 从以上分析可见,如果在计算机系统中同时具备下面四个必要条件时,那麽会发 生死锁。换句话说,只要下面四个条件有一个不具备,系统就不会出现死锁。 〈1〉互斥条件。即某个资源在一段时间内只能由一个进程占有,不能同时被两 个或两个以上的进程占有。这种独占资源如CD-ROM驱动器,打印机等等,必须在 占有该资源的进程主动释放它之后,其它进程才能占有该资源。这是由资源本身的 属性所决定的。如独木桥就是一种独占资源,两方的人不能同时过桥。 〈2〉不可抢占条件。进程所获得的资源在未使用完毕之前,资源申请者不能强 行地从资源占有者手中夺取资源,而只能由该资源的占有者进程自行释放。如过独 木桥的人不能强迫对方后退,也不能非法地将对方推下桥,必须是桥上的人自己过 桥后空出桥面(即主动释放占有资源),对方的人才能过桥。 〈3〉占有且申请条件。进程至少已经占有一个资源,但又申请新的资源;由于 该资源已被另外进程占有,此时该进程阻塞;但是,它在等待新资源之时,仍继续 占用已占有的资源。还以过独木桥为例,甲乙两人在桥上相遇。甲走过一段桥面 (即占有了一些资源),还需要走其余的桥面(申请新的资源),但那部分桥面被 乙占有(乙走过一段桥面)。甲过不去,前进不能,又不后退;乙也处于同样的状 况。 〈4〉循环等待条件。存在一个进程等待序列{P1,P2,...,Pn},其中P1等待P2 所占有的某一资源,P2等待P3所占有的某一源,......,而Pn等待P1所占有的的某 一资源,形成一个进程循环等待环。就像前面的过独木桥问题,甲等待乙占有的桥 面,而乙又等待甲占有的桥面,从而彼此循环等待。 上面我们提到的这四个条件在死锁时会同时发生。也就是说,只要有一个必要条 件不满足,则死锁就可以排除。
例:系统有打印机、读卡机各一台,被进程P、Q共享。 两个进程并发执行,按以下顺序请求和释放资源:
进程P A1:请求读卡机 A2:请求打印机 A3:释放读卡机 A4:释放打印机
A1、A2、A3、A4、B1、B2、B3、B4 B1、B2、B3、B4、A1、A2、A3、A4 A1、A2、B1、B2、A3、A4、B3、B4 A1、B1、A2、B2、A3、B3、A4、B4
3.2 调度算法——作业调度
四、作业调度所需的数据结构及其组织 1、作业控制块
2、作业后备队列
3.2 调度算法——作业调度
六、常用的作业调度算法 1. 先来先服务调度算法(FCFS)
特点:简单容易实现,有利于长作业,但不利于短作业
3.2 调度算法——作业调度
2、最短作业优先调度算法(SJF)
特点:易于实现,会使系统平均周转时间最短,系统吞吐量大。 但忽视了作业的等待时间,不利于长作业,会出现“饿死”现象。
已分配 5 2 2
可用 3
现有同类资源12个供3个进程共享,假定进程所 需资源和已占资源的情况如下表所示。3个进程 在执行中又都提出申请一个资源的要求,回答: a.如果先满足进程A的要求,系统将会出现什么 现象?解释之。 b.你认为应按怎样的次序分配资源才合适?为 什么?
进程 A B C
已占资源数 1 4 5
3、区分死锁的避免与死锁的防止 预防:是在运行之前,预先防止死锁的产生(主 要通过破坏产生死锁的四个必要条件中任何一 个来实现的) 避免:是系统运行过程中注意避免死锁的发生 (要求系统每当在进程申请资源时,都应根据 一定的算法判断,仅当系统处于安全状态时才 把资源分配给进程,使系统一直处于安全状态 之中)
最大需求数 4 6 8


答:a.在当前状态下,尚余2个资源可供分配,如果先 满足进程A的要求,把其中1个资源分配给A进程,此时 A、B、C进程仍未拥有足够资源完成任务。系统进入 不安全状态,随着进程的继续执行,剩余的1个资源无 论分给哪个进程,均导至所有进程进入等告待而出现 死锁。 b.根据目前的资源占用情况,应该先满足B的要求,把 剩下的2个资源分配给他,这样,B进程可执行完毕归 还系统6个资源。这6个资源可以满足A和C进程的资源 需求,从而使系统处于安全状态。
第三章 处理机的调度与死锁
一、处理机的多级调度策略
处理机调度是操作系统的主要功能之一,它的实现策略决定了操作系统的类型, 其调度算法的优劣直接影响整个系统的性能。 处理机调度的任务是选出待分派的作业或进程,为之分配处理机。 一般来说,处理机调度可分为三个级别,分别是高级调度、中级调度和低级调度。 1、高级调度又称作业调度,作业就是用户程序及其所需的数据和命令的集合, 作业管理就是对作业的执行情况进行系统管理的程序的集合。作业调度程序的主 要功能是审查系统是否能满足用户作业的资源要求以及按照一定的算法来选取作 业。 2、引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量,使得暂时 不运行的进程从内存对换到外存上。 3、低级调度又称进程调度,其主要功能是根据一定的算法将CPU分派给就绪队 列中的一个进程。进程调度是操作系统中最基本的一种调度,其调度策略的优劣 直接影响整个系统的性能。
2、利用银行家算法避免死锁
算法:把操作系统比作银行家,操作系统管理的各种资源比作银行的 周转资金,申请资源的进程比作银行借款的主顾。银行家占有有 限的资金,他不可满足所有借款人的请求,但可以满足一部分 人的借款请求,等这些人归还后,又可把这笔资金借给其他人, 其原则是不能使银行家的钱被借完,使资金无法周转。 特点:可避免死锁,比静态资源分配法资源利用率高 但资源分配保守,每次分配前均要花较长时间计算时间,系统 开销较大,而且必须知道每个进程对资源的最大需求量。

【时间片长度变化的影响】: 过长->退化为FCFS算法,进程在一个时间片内都执 行完,响应时间长。 过短->用户的一次请求需要多个时间片才能处理完, CPU现场切换次数增加,响应时间长。 【对响应时间的要求】: T(响应时间)=N(进程数目)*q(时间片) 【时间片长度的影响因素】: 就绪进程的数目:数目越多,时间片越小(当响应 时间一定时)。 系统的处理能力:应当使用户输入通常在一个时间 片内能处理完,否则使响应时间,平均周转时间和 平均带权周转时间延长。
3.2 调度算法——进程调度
3.3 死锁
一、死锁的概念
死锁:指多个进程在运行的时候因为竞争资源而陷入的一种僵局,陷 入这种僵局的进程,若无外力的作用将无法再向前推进。 产生死锁的原因: 1、进程对资源的竞争 当若干进程需求资源的总数大于系统能提供的资源数时,进程间 就会出现竞争资源的现象,若管理不当就可能引起死锁。 2、资源分配策略 如果按某种资源分配策略分配资源时使得某些进程各自占用了部 分资源后又都在等待其他进程所占的资源,且互不相让,则出会 引起死锁。 3、并发进程执行速度 并发进程执行的速度不能由进程自己来控制,如果协调不好的话 也会出现循环等待资源的情况。




几点说明: 在多道批处理系统中,既有高级调度,又有低 级调度,也可以采用中级调度。 在分时系统中,一般没有高级调度,只有低级 调度,一般会采用中级调度 在实时系统中,只有低级调度 在支持多道程序的操作系统中,一般存在进程 调度 有的操作系统采用中级调度,有的操作系统没 有中级调度
三、调度性能的衡量指标 对批处理系统应尽量提高各种资源的利用率和增加系统 的吞吐量 分时系统应保证对用户的响应时间的要求 实时系统必须及时和可靠的处理 衡量作业调度和进程调度性能的指标如下: (1)CPU利用率 (2)吞吐量--单位时间内CPU完成作业的数量。 (3)周转时间--从作业提交到作业完成的时间间隔。 (4)等待时间—作业或进程从进入系统到被调度并 开始执行所经历的时间 (5)响应时间--从提交第一个请求到产生第一个响应 所用的时间 作业i周转时间 n Ti (6)平均带权周转时间 W 1

3.2 调度算法——进程调度
2、时间片轮转调度算法 通过时间片轮转,提高进程并发性和响应时间特性, 从而提高资源利用率。
将系统中所有的就绪进程按照FCFS原则,排成一个队列。 每次调度时将CPU分派给队首进程,让其执行一个时间片。 时间片的长度从几个ms到几百ms。 在一个时间片结束时,发生时钟中断。 调度程序据此暂停当前进程的执行,将其送到就绪队列的末 尾,并通过CPU现场切换执行当前的队首进程。 进程可以未使用完一个时间片,就出让CPU(如阻塞)。 时间片轮转法: 固定时间片 可变时间片:根据系统的当前负载情况,每当一轮开始时调整 时间片的大小,此时间片值作为这一轮的时间片保持不变, 在此轮中新到达的就绪进程暂不进入就绪队列,等待下一轮 一并进入。
作业总数
T n i 1 Si
作业i执行时间
3.2 调度算法——作业调度
二、批处理系统中作业的状态及其转换 四种状态:提交、后备、执行和完成
3.2 调度算法——作业调度
三、实现作业状态转换的程序 1、SPOOLing系统程序 包括输入程序、输出程序、井管理程序(读子程序、写 子程序) 2、作业调度程序 作业调度程序负责作业从“后备状态”到“执行状态” 以及从“执行状态”到“完成状态”的转换,作业调 度程序为作业分配的是一台虚拟的逻辑处理机。 作业调度:按照某种调度算法从后备作业队列中挑选 一个/几个作业进入内存,参加运行。同时分配资源, 做好运行前的准备。
我们通过一个例子来说明安全性。假定系统中有三个进程P1、 P2和 P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求 4台和9台。假设在T0时刻,进程P1、P2和P3已分别获得5台、2台和2 台磁带机,尚有3台空闲未分配,如下表所示:
相关文档
最新文档