- 调度是啥?
多道程序设计时,会有多个程序或线程同时竞争CPU。CPU在被竞争时,要决定下一个运行的进程,在OS中,完成选择这一部分工作的成为调度程序。该程序使用的算法称之为调度算法。
- 调度发生在什么时候?
- 在创建一个新程序之后,需要决定是运行父进程还是子进程。由于这两个进程都处于就绪态,所以可以任意决定。
- 在一个进程退出时。当一个进程退出时,先从就绪进程中选择运行另外一个进程;如果没有就绪进程,运行一个系统提供的空闲进程。
- 在进程由于I/O等其他原因阻塞时。运行进程被阻塞时,调度程序会决定运行另一个程序。
- 在一个I/O中断发生时。当中断来自I/O设备时,而该设备现在完成了工作,由于等待该I/O设备而阻塞的进程就会进入就绪态,调度程序需要决定新就绪程序的运行。
- 调度算法的分类