操作系统--处理机调度
操作系统–处理机调度
三个层次
- 高级调度(作业调度):按照某种规则,从后备队列中选择合适的作业将其调入内存,并为其创建进程
- 中级调度(内存调度):按照某种规则,从挂起队列中选择合适的进程将其数据调回内存
- 低级调度(进程调度):按照某种规则,从就绪队列中选择一个进程为其分配处理机
三种调度对进程状态的影响
- 高级调度:无->创建态->就绪态
- 中级调度:挂起态->就绪态(阻塞挂起->阻塞态)
- 低级调度:就绪态->运行态
低级调度时机
进程调度(低级调度)按照某种算法从就绪队列中选择一个进程为其分配处理机
调度时机:
- 当前运行的进程主动放弃处理机,如:进程正常终止,方式异常,请求阻塞
- 当前运行的进程被动放弃处理机,如:时间片用完,I/O中断
不能调度的时机:
- 处理中断过程中
- 进程在操作系统内核程序临界区时
- 原子操作过程中
进程调度方式
- 剥夺调度方式(抢占式)
- 非剥夺调度方式(非抢占式)
调度算法的评价指标
- CPU利用率
- 系统吞吐量
- 周转时间
- 等待时间
- 相应时间
调度算法分类
- 先来先服务(FCFS)
- 短作业优先(SJF)
- 高响应优先(HRRN)
- 时间片轮转调度
- 优先级调度
- 多级反馈队列调度
调度算法
-
先来先服务:顾明思意,先来的先服务,优点:公平,简单,缺点:对短作业不利,对长作业有利。不会出现饿死。
-
短作业优先:短的先运行,优点:“最短的”平均等待时间,平均周转时间。缺点:对长作业不利,对短作业有利。并且会出现饿死。
-
高响应比优先:综合考虑进程的等待时间和要求服务时间,高响应比的先服务。优点:综合考虑了等待时间和运行时间。不会出现饿死。
-
时间片轮转:公平地,轮流为各个进程服务,优点:公平,响应快,适用于分时操作系统,缺点:切换进程率高,有一定的开销。
-
优先级调度算法:根据任务优先级来决定顺序。优点:用优先级区分紧急程度,重要程度,适用于实时操作系统。缺点:会出现饿死现象。
-
多级反馈队列:是对其他调度算法的折中权衡,设置多级就绪队列,各个队列优先级从高到低,时间片从小到大。(UNIX用的是多级反馈队列)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)