进程的三种状态及其转换

时间:2024-04-09 18:39:33
1.进程的三种基本状态:
进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态: 
①就绪(Ready)状态 
当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态就称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将他们排成一个队列,称为就绪队列。 
②运行状态 
进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于运行状态;在多处理机系统中,则有多个进程处于运行状态。 
③阻塞状态 
正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,缺CPU,缺外部资源等。


2.进程三种状态间的转换
进程状态的变迁图
进程的三种状态及其转换

一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和运行状态,也可以多次处于阻塞状态。


(1) 就绪态→运行态  处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成运行状态。


(2) 运行态→就绪态  处于运行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从运行状态转变成就绪状态。


(3) 运行态→阻塞    正在运行的进程因等待外部资源而无法继续执行时,便从运行状态变成阻塞状态。


(4) 阻塞→就绪态    处于阻塞状态的进程,若其等待外部资源充足,于是进程由阻塞状态转变为就绪状态。