处理机调度与基本算法

处理机调度:在多道程序环境下,动态的把处理机分配给就绪队列中的一个进程使之执行
提高处理机的利用率、改善系统性能,很大程度上取决于处理机调度的性能

分配的任务由处理机调度程序完成

三种调度方式
1.高级调度:
又称作业调度或长程调度、接纳调度
处理机调度与基本算法_第1张图片
接纳多少作业取决于多道程序度
接纳那些作业取决于采用的调度算法

批处理系统:作业进入系统后先驻留外存,故需要有作业调度
分时系统:为及时响应,作业由终端直接送入内存,故不需要作业调度
实时系统中,通常也不需要作业调度

2.低级调度
也称进程调度、微观调度或短程调度
决定内存就绪队列中的哪个进程获得处理机,进行分配工作(最基本的一种调度,在三种基本OS中都有)
进程调度方式
在这里插入图片描述
进程调度方式的比较
非抢占方式:调度的时机:1.程序完成2.发生某时间阻塞
特点:实现简单,系统开销小,功能也简单,适用于大多数批处理os,但在要求严格的实时系统,不宜采用该方式
抢占方式:调度的时机:1.程序完成3.发生某件事阻塞3.新进程就绪
特点:抢占的原则有多种,优先级高的可以抢占优先级低的进程的处理机,短作业进程可以抢占长作业进程的处理机,各进程按时间片运行,一个时间片用完时重新进行调度”

处理机调度与基本算法_第2张图片

3.中级调度
又称交换调度或中程调度
引入目的:提高内存利用率和系统吞吐量
根据条件将一些进程调出或在调入内存

在这里插入图片描述

处理机调度与基本算法_第3张图片

进程调度(低级调度):运行效率最高,算法不能太复杂

作业调度(高级调度):一个作业运行完毕退出系统时即触发重新调度一个新作业入内存,周期较长,花费时间较多
中级调度:运行频率基本上介于上述两种调度之间

面向用户
CPU执行用时Ts
总的等待时间Tw=在后备队列中等待+就绪队列上等待+阻塞队列中等待(等待i/o操作用时)

周转时间T=Ts+Tw
带权周转时间W=T/Ts
平均周转时间
在这里插入图片描述
平均带权周转时间
在这里插入图片描述

面向系统
系统吞吐量高:批处理系统的重要指标
在这里插入图片描述
处理机利用率好
各类资源的平衡利用

不同系统需求各有侧重
处理机调度与基本算法_第4张图片


常用调度算法:


1.先来先到服务调度算法FCFS
按先后顺序进行调度,既可用于作业调度,也可用于进程调度

按照作业提交,或进程变为就绪状态的先后次序分派CPU
新作业只有当当前作业或进程执行完或阻塞才获得CPU运行
被唤醒的作业或进程不立即恢复执行,通常等到当前作业或进程让出CPU(所以,默认即是非抢占方式)
不利于短作业

2.短作业(进程)优先调度算法SJF/SPF
优点:采用SJF/SPF算法,平均周转时间、平均带权周转时间都有明显改善。
SJF/SPF调度算法能有效的降低作业的平均等待时间,提高系统吞吐量

不足:
在这里插入图片描述

高优先权优先调度算法HPF
1.非抢占式优先权算法
2.抢占式优先权算法 关键点:新作业产生时

在这里插入图片描述

进程类型:一般来说,系统进程高于用户进程
根据进程对资源的需求:如进程的估计时间及内存需求量的多少,对要求少的进程赋予较高优先权
用户要求:由用户进程的紧迫程度及用户所付费用的多少来确定优先权

高响应比优先调度算法:
在这里插入图片描述
处理机调度与基本算法_第5张图片
t+5/5 t+600/600

在这里插入图片描述

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

1.将系统中所有的就绪进程按照FCFS原则,排成一个队列
2.每次调度时将CPU分派给队首进程,让其执行一个时间片,时间片的长度从几个ms到几百个ms
3.在一个时间片结束时,发生时钟中断
4.调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前就绪的队首进程
在这里插入图片描述

在这里插入图片描述
影响时间片长度的主要因素:
系统的处理能力和系统的负载状态

(2)多级反馈队列算法FB
特点:多个就绪队列,循环反馈,动态优先级、时间片轮转
1)设置多个就绪队列,各队列有不同的优先级,优先级从第一个队列逐渐降低
2)赋予各队列进程执行时间片大小相同,优先权越高,时间片越短。
在这里插入图片描述

处理机调度与基本算法_第6张图片
处理机调度与基本算法_第7张图片
处理机调度与基本算法_第8张图片

你可能感兴趣的:(处理机调度与基本算法)