三种调度:
作业/高级调度:按照某种规则(调度算法),从外存调入内存 面向作业
内存/中级调度:从外存调入内存 面向进程
进程/低级调度(不可或缺):从内存调到CPU
频率和级别相反
挂起:内存调入外存 就绪 和 阻塞
切换很快:在内存里
卡顿:中级调度 (频率高
七状态模型 阻塞队列和就绪队列
调度方式:
非抢占式:不及时 抢占式:及时 时间片轮转 适合分时操作系
进程调度和切换的区别
切换:保存数据到pcb中 ,恢复数据从pcb读, 都需要付出一定的时间代价 ,因此切换和调度频繁 效率降低
进程在操作系统内核程序临界区不能进行调度与切换,可能会影响操作系统工作,
但是在普通临界区(访问临界资源)中是可以进行调度或者切换
调度器/调度程序
包括三部分:_ _ _
不支持内核级线程操作系统 调度程序是进程
支持内核级线程操作系统 调度程序是线程
闲逛进程:溜达 优先级低
调度算法的性能指标
调度算法
先来先服务FCFS
平均(P1+P2+P3+P4)/4
P3 进程的带权周转时间太大 等太久 体验不好, 对长进程的短进程体验很差
对长作业有利,对短作业不利,不会导致饥饿
短作业优先SJF-有饥饿 有可抢占
缺点:短作业优先,长作业饥饿,非抢占式,
计算周转时间 其余套公式
方法:画图 然后标出来完成时间 短作业优先 作业可以拆开 每当一个进程到达,就需要重新选择短作业
所有进程同时到达的话 ,sjf平均等待时间和平均周转时间最短
高响应比算法(HRRN)
时间片轮转(RR)
时间片为2
初次在对头,每个进程只能领2个运行时间,到时间就到队尾
时间片太短,进程切换过于频繁,导致实际运行时间比例偏少(切换占比不超过1%)
时间片为5
当时间片足够长 会退化为先来先服务