暂时放弃编程了- -。难受
FCFS | SJF | HRRN | 时间片轮转 | 优先级调度 | 多级反馈队列 | |
思想/规则 | 排队买东西 | 追求最少的平均等待时间 追求最短的周转时间 平均带权周转时间 | 综合考虑作业/进程的等待时间和要求 服务时间 | 公平丶轮流的为 各个进程服务 | 随着实时操作系统的出现,选择优先级最高的进程/作业 | 对其他算法的择中 |
用于什么调度 | 作业/进程 | 作业/进程 | 作业/进程 | 进程 | 作业/进程 | 进程 |
可抢占 | 不可抢占 | 不可抢占 SPF可抢占 | 不可抢占 | 抢占 | 抢占式和非抢占式 抢占式还需要在就绪队列 发生变化时,检查是否会抢占 | 抢占式的算法 在k级队列的进程运行过程中,若更上级的队列出现一个新进程,新进程会抢占处理机 |
优点 | 公平,容易实现 | 最短的等待时间丶平均周转时间 | 公平,响应快, | 可优先级区分紧急程度 | ||
缺点 | 对长作业有利,短作业不利 | 对长作业不利 运行时间由用户提供,并不一定真实 | 结合了SJF和FCFS | 高频率的切换需要 一定开销,不能区分任务的紧急程度 | 源源不断的高优先级进程到来,可能会导致饥饿 | |
考虑等待时间&运行时间 | 等待时间✔ 运行时间✘ | 等待时间✘ 运行时间✔ | 等待时间✔ 运行时间✔ | |||
会不会到饥饿 | 不会 | 会 | 不会 | 不会 | 会 | 会 |
一般用户早期的批处理系统 | 适用于分时操作系统 | 适用于实时操作系统 | ||||