Please enable JavaScript.
Coggle requires JavaScript to display documents.
2.2调度的概念, 调度 (调度算法, 基本原则, 过程, 方式, 时机, 进程调度和切换程序是操作系统的内核程序) - Coggle Diagram
2.2调度的概念
频率
中
高,几十毫秒一次
低,几分钟一次
所用对象
进程
进程
作业
名称
中级调度/内存调度/中程调度
低级调度/进程调度/短程调度
最基本
高级调度/作业调度/长程调度
位置
内存→外存
暂时不能运行的进程调至外存等待,挂起态,提高内存利用率和系统吞吐量
内存→CPU
就绪队列中选一个分配处理机
外存→内存
处于后备状态的作业中挑选,分配内存和资源,建立PCB,建立进程
配置系统
多道批处理
多道批处理、分时、实时
次数
多次调入调出
只调入一次、调出一次
调度
调度算法
优先级调度
剥夺/非剥夺
静态/动态
作业/进程调度
优先级设置原则
交互性进程>非交互性进程(前台进程>后台进程)
I/O型进程>计算型进程
系统进程>用户进程
资源需求、用户要求
会饥饿
高相应比
等待+所需/所需时间
克服饥饿
作业调度
非剥夺
先来先服务FCFS
不可剥夺
简单,效率低;长作业有利;有利于CPU繁忙型,不利于I/O繁忙型
作业/进程调度
不能作为分时系统和实时系统的主要调度策略
时间片轮转
分时系统
剥夺式
可抢占
短作业优先SJF
缺点
对长作业不利,会出现饥饿现象
无法人机交互
必须预知作业运行时间
未考虑作业的紧迫性
作业/进程调度
多级反馈队列
抢占式
会饥饿
基本原则
周转时间
作业提交到作业完成
作业在外存后备队列等待、进程在就绪队列中排队、在处理机上运行、输入/输出之和
等待时间
在就绪队列中等CPU时间之和
系统吞吐量
单位时间内CPU完成作业的数量
长作业耗时长,降低
响应时间
用户提交请求到系统首次产生相应
CPU利用率
过程
保存原进程当前切换点的现场信息
内核
将原进程的现场信息推入当前进程的
内核堆栈
来保存,并更新堆栈指针
恢复新进程的现场信息
从新进程的
内核栈
中装入新进程的现场信息,更新进程空间指针、重设PC寄存器
进程切换往往在调度完成后立刻发生
方式
非剥夺调度方式
缺:无法及时处理紧急任务
适合于早期的批处理系统
优:实现简单,系统开销小
剥夺调度方式
缺:进程调度、切换是有代价的,必循遵循一定原则
适合于分时操作系统、实时操作系统
优:可以优先处理更紧急的进程
对提高系统吞吐率和相应效率都有明显的好处
时机
不能调度与切换
进程在
操作系统内核
程序临界区中
不尽快释放会影响操作系统内核的其他管理工作
原子操作过程(原语)
在处理中断的过程中
中断处理过程复杂,与
硬件
密切相关,是
系统工作
的一部分,逻辑上不属于某一进程,不应被剥夺处理机资源
进程调度和切换程序是操作系统的
内核
程序