页数:71页文件大小:507.2 KB来源: 计算机操作系统ppt课件
本课件讲解处理机调度,先区分高级、低级与中级调度及三种调度队列模型与评价准则,继而分析先来先服务、短作业优先、高响应比优先、时间片轮转与多级反馈队列算法,最后介绍实时调度的分类与 EDF、LLF 算法。
第三章 处理机调度与死锁:本页为《计算机操作系统》课件封面,标注课程名称与英文名称 Operating Systems,并列出 WINDOWS、UNIX、LINUX 等常见操作系统类型。
3.1处理机调度的层次:一个批处理型作业,从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,可能要经历的三级调度:中级调度创建静止就绪静止阻塞高级调度低级调度执行就绪阻塞终止。
3.1.1高级调度(作业调度)
作业和作业步
作业控制块JCB
作业调度的两个决定
分时系统的调度要求
3.1.2低级调度
低级调度的功能
进程调度的三个基本机制
进程调度方式
非抢占方式
抢占方式
抢占原则
3.1.3中级调度(中程调度)
三种调度的运行频率
3.2调度队列模型和调度准则
仅有进程调度的队列模型
具有高级和低级调度的队列模型:2具有高级和低级调度的调度队列模型处理器进程调度作业调度完成时间片完就绪队列后备队列阻塞队列等待事件2阻塞队列等待事件1。
批处理系统中的调度模型
同时具有三级调度的队列模型:3同时具有三级调度的调度队列模型中级调度创建静止就绪静止阻塞低级调度执行活动就绪活动阻塞终止高级调度。
三级调度模型中的队列流向:中级调度处理器低级调度高级调度完成时间片完就绪队列后备作业队列交互式用户阻塞队列等待事件事件出现挂起就绪队列挂起阻塞队列中级调度处理器三级调度模型。
选择调度方式和算法的准则
周转时间
带权周转时间和平均带权周转时间
响应时间
系统吞吐量
CPU利用率示例数据:CPU利用率ABC30608090100110120160210170190240230310250CPUI/O设备1I/O设备2220CPU利用率=(20+10+20+30+10+30+30+10+20+10)/310=190 / 310 = 61.3 %0。
3.3调度算法
先来先服务(FCFS)调度算法
FCFS调度算法举例
短作业(进程)优先调度算法
SJF调度算法举例:SJF算法调度算法举例1平均周转时间=(4+8+16+3+9)/5=8平均带权周转时间=(1+2.67+3.2+1.5+2.25)/5=2.10236913带权周转时间服务时间4/4=18/3=2.6716/5=3.23/2=1.5作业ABCDE435241849/4=2.25。
FCFS与SJF调度性能对比:图3-4FCFS和SJF调度算法的性能。
SJ(P)F调度算法的缺点
3.3.2高优先权优先调度算法
优先权的类型
静态优先权的确定依据
动态优先权的调整
高响应比优先调度算法
响应比的定义
HRRF算法举例
HRRF算法的运行结果:HRRF算法性能介于SJF与FCFS之间。T=26.25 W=2.46到达系统时间所需CPU时间。
高响应比算法的优缺点
3.3.3基于时间片的轮转调度算法
时间片q=1时的进程运行情况:q=1时的进程运行情况ACBDE103254769811101312181743524。
时间片q=4时的进程运行情况:q=4时的进程运行情况ACBDE103254769811101312181743524。
时间片大小的确定:时间片略大于一次典型的交互所需要的时间。
多级反馈队列调度算法
多级反馈队列调度算法的性能
作业1:可变分区内存管理:作业1(多道程序环境下)某多道程序设计系统采用可变分区内存管理,供用户使用的主存为200K,磁带机5台。采用静态方式分配外围设备,且不能移动在主存中的作业,进程调度采用FCFS,忽略用户作业I/O时间。现有作业序列如下:作业号进入后备队列运行时间主存需求量磁带需求量A8:3040分钟30k3B8:5025分钟120k1C9:0035分钟100k2D9:0520分钟20k3E9:1010分钟60k1现求:FCFS算法选中作业执行的次序及作业平均周转时间?。
作业2:两道作业批处理系统
3.4实时调度
实时调度算法的分类
非抢占式轮转调度算法:非抢占式轮转调度算法。
非抢占式优先调度算法:非抢占式优先调度算法。
基于时钟中断的抢占式优先权调度:基于时钟中断的抢占式优先权调度算法。
立即抢占的优先权调度算法:立即抢占的优先权调度算法。
常用的几种实时调度算法
实时任务的优先级调度:优先级调度。
EDF算法用于抢占调度方式:EDF算法用于抢占调度方式。
最低松弛度优先(LLF)算法:松弛度=必须完成时间-本身运行时间-当前时间。
LLF调度过程(t=0):利用LLF算法进行调度的情况。
LLF调度过程(t=10):利用LLF算法进行调度的情况。
LLF调度过程(t=30):利用LLF算法进行调度的情况。
LLF调度过程(t=40):利用LLF算法进行调度的情况。
LLF调度过程(t=45):利用LLF算法进行调度的情况。
LLF调度过程(t=55)
LLF调度过程(t=70):利用LLF算法进行调度的情况。
实时调度例题:四个周期性事件:一个实时系统有四个周期性事件,周期分别为50、100、300和250ms。若假设其处理时间分别需要35、20、10和x ms,则该系统可调度允许的x值最大为多少?答:(35/50+20/100+10/200+x/250)<1x<16.75ms。
作业:对下面的5个非周期性实时任务,按最早开始截至时间优先调度算法应如何进行CPU调度?进程到达时间执行时间开始截至时间A1020110B202020C402050D502090E602070。
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}