进程调度算法-FCFS,SJF,HRRN,RR

124 阅读2分钟

三种调度:

作业/高级调度:按照某种规则(调度算法),从外存调入内存 面向作业
内存/中级调度:从外存调入内存 面向进程
进程/低级调度(不可或缺):从内存调到CPU
频率和级别相反
挂起:内存调入外存 就绪 和 阻塞
切换很快:在内存里
卡顿:中级调度 (频率高 七状态模型 阻塞队列和就绪队列

调度方式:

非抢占式:不及时 抢占式:及时 时间片轮转 适合分时操作系

进程调度和切换的区别

切换:保存数据到pcb中 ,恢复数据从pcb读, 都需要付出一定的时间代价 ,因此切换和调度频繁 效率降低
进程在操作系统内核程序临界区不能进行调度与切换,可能会影响操作系统工作, 但是在普通临界区(访问临界资源)中是可以进行调度或者切换

调度器/调度程序

包括三部分:_ _ _

不支持内核级线程操作系统 调度程序是进程

支持内核级线程操作系统 调度程序是线程

闲逛进程:溜达 优先级低

调度算法的性能指标

image.png

调度算法

image.png

先来先服务FCFS

image.png

平均(P1+P2+P3+P4)/4

P3 进程的带权周转时间太大 等太久 体验不好, 对长进程的短进程体验很差

对长作业有利,对短作业不利,不会导致饥饿

短作业优先SJF-有饥饿 有可抢占

缺点:短作业优先,长作业饥饿,非抢占式,
计算周转时间 其余套公式
方法:画图 然后标出来完成时间 短作业优先 作业可以拆开 每当一个进程到达,就需要重新选择短作业 所有进程同时到达的话 ,sjf平均等待时间和平均周转时间最短

image.png

高响应比算法(HRRN)

image.png

时间片轮转(RR)

时间片为2
初次在对头,每个进程只能领2个运行时间,到时间就到队尾
时间片太短,进程切换过于频繁,导致实际运行时间比例偏少(切换占比不超过1%)

image.png

时间片为5
当时间片足够长 会退化为先来先服务 image.png

优先级调度

多级反馈队列调度