(3)恢复现场 。为选中的进程恢复现场信息,并把CPU的控制权交给该进程,从而使它接着上次间断的地方继续运行 。
2.进程调度的时机
(1)任务完成 。正在运行的进程完成其任务后,主动释放对CPU的控制 。
(2)等待资源 。由于等待某些资源或事件,正在运行的进程不得不放弃CPU 。
(3) 运行到时 。在分时系统中,当前进程使用完规定的时间片,时钟中断使该进程让出CPU 。
(4)发现标志 。核心处理完中断或陷入事件后,发现系统中“重新调度”标志(如linux系统中进程task_struct的成员need_resched)被置上,表示有比当前用户进程更适宜运行的进程,则执行进程调度 。
进程调度程序是操作系统的真正核心,它直接负责CPU的分配 。系统中所有进程都是在CPU上运行的,进程调度程序就是它们的切换开关 。
如果把硬件CPU看成一台裸机,那么加上这个调度程序之后,就变成多台逻辑上相同的CPU,只是速度慢一些 。在有的机器上,甚至用微程序设计把这个程序装入只读存储器(ROM)中,从而提高CPU的调度效率 。
推荐阅读
- 编写C程序控制LED
- 花茶的冲泡茶具,泡不同的茶用不同的茶具
- 将远程服务器上的文件备份到本地的三种工具
- 重发:Bqplot是一款用于Jupyter的交互式2D的python绘图库
- 梨山茶品质特点,蜂蜜梨茶的做法
- 11种最常见的机器学习算法简介
- 喝黑茶的功能与副作用,喝苦荞茶的禁忌及副作用
- 喝冷泡茶的好处,男性喝红茶的好处和坏处
- 如何使用Istio 1.6管理多集群中的微服务?
- 开启天文之路的 4 个 Python 工具 | Linux 中国