作业管理之进程调度
1、进程调度概述
==进程调度是指计算机通过决策决定哪个就绪进程可以获得CPU使用权==
1.1、两个步骤
- 保留就进城的运行信息,请出旧进程(收拾包袱)
- 选择新进程,准备运行环境并分配CPU(新进驻)
1.2、三种机制
- 就绪队列的排队机制
- ==为了提高进程调度的效率,将就绪进程按照一定的方式排成队列,以便调度程序可以最快找到就绪进程==
- 选择运行进程的委派机制
- ==调度程序以一定的策略选择就绪进程,将CPU资源分配给它==
- 新老进程的上下文切换机制

- ==保存当前进程的上下文信息,装入被委派执行进程的运行上下文==

1.3、非抢占式调度
- 处理器一旦分配给某个进程,就让该进程一直使用下去
- 调度程序不以任何原因抢占正在被使用的处理器
- 直到进程完成工作或者因为IO阻塞才会让出处理器
1.4、抢占式调度
- 允许调度程序以一定的策略暂停当前运行的进程
- 保存好进程的上下文信息,分配处理器给新进程
1.5、两者比较
| 抢占式调度 | 非抢占式调度 | |
|---|---|---|
| 系统开销 | 频繁切换,系统开销大 | 切换次数少,开销小 |
| 公平性 | 相对公平 | 不公平 |
| 应用 | 通用系统 | 专用系统 |
2、进程调度算法
2.1、先来先服务调度算法
- 按顺序调度

2.2、短进程优先调度算法
- 调度程序优先选择就绪队列中估计运行时间最短的进程
- 短进程优先调度算法不利于长作业进程的执行
2.3、高优先权优先调度算法
- 进程附带优先权,调度程序优先选择权重高的进程
- 高优先权优先调度算法使得紧迫的任务可以优先处理
- 前台进程优先级高于后台进程
2.4、时间片轮转调度算法
- 按先来先服务的原则排列就绪进程
- 每次从队列头部取出待执行进程,分配一个时间片执行
- 是相对公平的调度算法,但不能保证及时响应用户
- 执行完后如果进程尚未完成则插入队列尾部
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果