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

处理机调度:多道程序环境下,动态的把处理机分配给就绪队列中的一个进程使之执行。

1、高级调度
决定外存后备队列中的哪些作业调入内存;
为它们创建进程、分配必要的资源;
将新创建的进程排在就绪队列上,准备执行。

在每次执行作业调度时,都须作出两个决定:
接纳多少作业——取决于多道程序度。应根据系统的规模和运行速度等情况综合考虑。
接纳哪些作业——取决于采用的调度算法。如先来先服务,短作业优先等

系统运行并不一定存在高级调度
1)批处理系统:作业进入系统后先驻留外存,故需要有作业调度。
2)分时系统:为及时响应,作业由终端直接送入内存,故不需作业调度。
3)实时系统中,通常也不需作业调度。


2、低级调度
决定内存就绪队列中的哪个进程获得处理机,进行分配工作。是最基本的一种调度,在三种基本OS中都有。

进程调度方式
1)非抢占方式(Non-preemptive Mode)
一旦处理机分配给某进程,该进程一直执行。决不允许其他进程抢占已分配运行进程的处理机。
调度时机:程序完成;发生某事件阻塞;
特点:实现简单、系统开销小; 功能也简单,适用于大多数批处理OS,但在要求较严格的实时系统,不宜采
用该方式
2)抢占方式(Preemptive Mode)
允许调度程序根据某种原则,暂停某个正在执行的进程,将处理机重新分配给另一进程。
调度时机:程序完成;发生某事件阻塞;新进程就绪;
特点:抢占的原则有很多种:优先权高的可以抢占优先级低的进程的处理机。短作业(进程)可以抢占长作业(进程)的处理机。各进程按时间片运行,一个时间片用完时重新进行调度。


3、中级调度
提高内存利用率和系统吞吐量。根据条件将一些进程调出或再调入内存。

进程调度:运行频率最高,算法不能太复杂
作业调度:一个作业运行完毕退出系统时即触发重新调度一个新作业入内存,周期较长,大约几分钟一次。因而也允许作业调度算法花费较多的时间。
中级调度:运行频率基本上介于上述两种调度之间。

 

 

调度算法
1、先来先服务调度算法FCFS
一种最简单的调度算法,按先后顺序进行调度。既可用于作业调度,也可用于进程调度。

2. 短作业(进程)优先调度算法SJF/SPF
优点:通过上表可见采用SJF/SPF算法,平均周转时间、平均带权周转时间都有明显改善。SJF/SPF调度算法
能有效的降低作业的平均等待时间,提高系统吞吐量。
方式:分抢占和非抢占两种方式。
SJF/SPF的不足:
1)对短作业有利,但同时造成了对长作业的不利。
2)由于作业(进程)的长短含主观因素,不一定能真正做到短作业优先。
3)未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)的及时处理。

3. 高优先权优先调度算法HPF
照顾紧迫性作业,使其获得优先处理而引入调度算法。常用于批处理系统中的作业调度算法,以及多种操作系统中的进程调度算法

非抢占式优先权算法
抢占式优先权算法 

优先权的类型
静态优先权:创建进程时确定,整个运行期间保持不变。一般利用某一范围的一个整数来表示,又称为优先数。
动态优先权:创建进程时赋予的优先权可随进程的推进或随其等待时间的增加而改变。

高响应比优先调度算法HRRN
HRRN为每个作业引入动态优先权,使作业的优先级随着等待时间的增加而以速率a提高:
优先权 =(等待时间+要求服务时间)/要求服务时间
       = 响应时间 / 要求服务时间

4. 基于时间片的轮转调度算法RR
分时系统新需求:
及时响应用户的请求;
采用基于时间片的轮转式进程调度算法。

(1)时间片轮转算法
*将系统中所有的就绪进程按照FCFS原则,排成一个队列。
*每次调度时将CPU分派给队首进程,让其执行一个时间片。时间片的长度从几个ms到几百ms。
*在一个时间片结束时,发生时钟中断。
*调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前就绪的队首进程。
(2)多级反馈队列算法FB
多个就绪队列,循环反馈
动态优先级、时间片轮转

算法名称

特点

方式

FCFS

最简单

不利于短作业

非抢占

SJF/SPF

照顾平均周转时间

不适于长作业

非抢占/抢占

HPF/HRRN

优先权考虑全面

非抢占/抢占

RR

及时响应

简单

时间片抢占

FB

最综合的一种算法

时间片抢占/

立即抢占

 

实时调度
1. 实现实时调度的基本条件
1)提供必要的信息
就绪时间。
开始截止时间、完成截止时间。
处理时间。
资源要求。
优先级。
2)系统处理能力足够强
提高系统处理能力的方法:
  增强单机系统的处理能力
  采用多处理机系统
3)采用抢占式调度机制
硬实时任务:广泛采用抢占机制。
小的实时系统:如能预知任务的开始截止时间,为简化调度程序和对任务调度时所花费的系统开销,可采用非抢占调度机制
4)具有快速切换机制
对外部中断的快速响应能力。
快速的任务分派能力。

2. 实时调度算法的分类
根据实时任务的性质:
硬实时调度算法
软实时调度算法

按调度方式:
非抢占调度算法
抢占调度算法;

根据调度时间不同:
静态调度算法
动态调度算法

多处理机环境下:
集中式调度
分布式调度

3. 实时调度算法
最早截止时间优先EDF(Earliest Deadline First)算法
最低松弛度优先LLF(Least Laxity First)算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如约而至3786

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值