Linux操作系统的作业调度和进程调度( 二 )


(3)恢复现场 。为选中的进程恢复现场信息,并把CPU的控制权交给该进程,从而使它接着上次间断的地方继续运行 。
2.进程调度的时机
(1)任务完成 。正在运行的进程完成其任务后,主动释放对CPU的控制 。
(2)等待资源 。由于等待某些资源或事件,正在运行的进程不得不放弃CPU 。
(3) 运行到时 。在分时系统中,当前进程使用完规定的时间片,时钟中断使该进程让出CPU 。
(4)发现标志 。核心处理完中断或陷入事件后,发现系统中“重新调度”标志(如linux系统中进程task_struct的成员need_resched)被置上,表示有比当前用户进程更适宜运行的进程,则执行进程调度 。
进程调度程序是操作系统的真正核心,它直接负责CPU的分配 。系统中所有进程都是在CPU上运行的,进程调度程序就是它们的切换开关 。
如果把硬件CPU看成一台裸机,那么加上这个调度程序之后,就变成多台逻辑上相同的CPU,只是速度慢一些 。在有的机器上,甚至用微程序设计把这个程序装入只读存储器(ROM)中,从而提高CPU的调度效率 。




推荐阅读