1.进程的三种基本状态:
进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态:
①就绪(Ready)状态
当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态就称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将他们排成一个队列,称为就绪队列。
②运行状态
进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于运行状态;在多处理机系统中,则有多个进程处于运行状态。
③阻塞状态
正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,缺CPU,缺外部资源等。
2.进程三种状态间的转换
进程状态的变迁图
一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和运行状态,也可以多次处于阻塞状态。
(1) 就绪态→运行态 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成运行状态。
(2) 运行态→就绪态 处于运行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从运行状态转变成就绪状态。
(3) 运行态→阻塞 正在运行的进程因等待外部资源而无法继续执行时,便从运行状态变成阻塞状态。
(4) 阻塞→就绪态 处于阻塞状态的进程,若其等待外部资源充足,于是进程由阻塞状态转变为就绪状态。