ouc操作系统处理机调与死锁.pptx
文本预览下载声明
3.1 处理机调度的基本概念;3.1.1 高级、中级和低级调度;低级调度(进程调度)
三种操作系统都必须有的调度
作用
决定把CPU分配给就绪队列中的哪个进程,
具体分派CPU的操作由分派程序执行。
两种调度方式
非抢占方式
抢占方式
注:进程调度比较频繁,因此进程调度算法不能太复杂,以免占用太多CPU时间;非抢占方式
一旦将CPU分配给某进程,便让它一直运行,直到它完成或阻塞,才让另一个来执行
可能引起调度的原因
进程执行完毕,或因某事件不能执行下去
提出I/O请求而暂停执行
wait、block等原语
优点
实现简单、系统开销小,适用于大多数的批处理系统环境
缺点
难以满足紧急任务的要求——立即执行,因而可能造成难以预料的后果
在要求比较严格的实时系统中,不宜采用;抢占方式
允许按照某种原则暂停正在执行的进程,让另一个来执行
抢占的原则
优先权原则
短作业(进程)优先原则
时间片原则;中级调度
引入的目的
提高内存利用率和系统吞吐量
作用
把暂时不运行的进程放到外存等待,留出内存给其他进程使用
在外存上的进程称为“挂起状态”
当这些进程又具备运行条件、且内存有空位时,便选择一些调入内存,进入就绪状态;7;3.1.2 调度队列模型;具有高级调度和低级调度的调度队列模型;具有三级调度的调度队列模型;3.1.3 选择调度方式和调度算法的若干准则;3.2 调度算法;先来先服务(FCFS)调度算法
最简单的算法,可用于作业调度、进程调度
基本思想
谁先来,先为谁服务 (类似食堂排队打饭)
特点
有利于长作业(进程),不利于短作业(进程)
因为长作业的带权周转时间短
;进程名;短作业(进程)优先调度算法(SJF、SPF)
可用于作业调度、进程调度
基本思想
哪个估计运行时间最短,先运行哪个
优点
有效降低平均等待时间,提高系统吞吐量
和FCFS相比,SJ(P)F中,平均周转时间、平均带权周转时间有明显改善
缺点
对长作业(进程)不利
没考虑作业(进程)的紧急程度
由于是估计的运行时间,所以不一定能真正做到短的优先;高优先权优先调度算法(FPF)
目的
照顾紧迫型作业,使之进入系统后能被优先处理
两种类型
非抢占式
一旦选择了优先权最高的进程??行,直到它结束或阻塞后,才选另一个执行
抢占式
若出现优先权更高的,则让出CPU
这样可更好的满足紧迫性
FPF算法的关键
优先权是静态的,还是动态的?
如何确定进程的优先权?;优先权类型
静态优先权
基本思想:创建进程时分配,保持不变
确定优先权的依据
进程类型:系统进程的 一般用户的
进程对资源的需求:估计执行时间、内存需求少的,优先权高
用户要求:根据用户的紧迫度、用户所付费用来确定
优点:简单易行、系统开销小
缺点:不精确, 优先权低的可能长时间无法执行
适用:要求不高的系统;动态优先权
基本思想
随进程的执行或等待时间的增加而改变
优先权低的等待一定时间后,优先权会提高
规定当前执行的进程优先权随时间下降
优点
在抢占方式下,可防止长进程长期霸占CPU;高响应比优先权调度算法
动态优先权
优先权 = (等待时间+要求服务时间)/要求服务时间
即 响应比 = 响应时间 / 要求服务时间
由上可知
等待时间相同,要求服务时间越短,优先权越高
——有利于短作业
要求服务时间相同,等待时间越长,优先权越高
——相当于FCFS
长作业的优先权可随等待时间增加而提高
优点:短、长作业都考虑到了
缺点:调度之前,须计算响应比,增加了系统开销;基于时间片的轮转调度算法——分时系统
早期的时间片轮转法
系统将就绪进程按先来先服务原则,排成一个队列
每次调度时,把CPU分配给队首进程,让它执行一个时间片
时间片用完时,调度程序根据计时器发出时钟中断停止进程的执行,并将它插至就绪队列末尾
然后,把CPU分配给就绪队列中新的队首进程,也让它执行一个时间片
这样,可保证就绪队列中所有进程,均能获得一时间片的执行时间;多级反馈队列调度算法
基本思想
设多个就绪队列(按优先级划分),优先权越高,获得的时间片越小
新进程进入系统后,放入第一个队列,按FCFS原则等待。第i个时间片执行完后,便放入i+1队列尾
仅当队列L1—Li 空时,才从Li+1队列中调度进程——可以抢占;多级反馈队列调度算法的性能
性能较好
能较好满足各类用户的需求
短进程可在一两个时间片内完成
长进程也不必担心长期得不到处理;3.3 实时调度;3.3.1 实现实时调度应具备以下几个条件
提供必要的信息
就绪时间:任务何时进入就绪状态的?
截止时间:开始截止时间、完成截止时间
处理时间:任务从开始执行到完成所需时间
资源要求:需要哪些资源
优先级:描述
显示全部