Bootstrap

linux进程3.进程的三态

01 三种基本状态

进程在运行中不断改变其运行状态,通常,一个进程运行必须具有一下三种基本状态:

  • 就绪状态:若进程已被分配到所有必要的资源(除CPU),只要获得处理器便可立即执行;就绪进程可以按多个优先级来划分队列。例如,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列。
  • 执行状态:当一个进程在处理机上运行时,则称该进程处于运行状态。
  • 阻塞状态:也称为等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。

02 三种状态间的转换

一个进程在运行期间,会不断从另一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态;
在这里插入图片描述

  • 就绪—>执行
    处于就绪状态的进程,当进程调度程序程序为之分配了处理器后,该进程便由就绪状态转变成了执行状态;
  • 执行—>就绪
    处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理器,于是进程从执行状态转变称就绪状态;
  • 执行—>阻塞
    当正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态;
  • 阻塞—>就绪
    处于阻塞状态的进程,若其等待的事件已经发生,便由阻塞状态转变为就绪状态。
;