进程的状态
定义
一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态体现了进程的生命状态。
进程的五种状态
一般来说,进程有五个状态:运行状态、就绪状态、阻塞(等待)状态、创建状态和终止状态。其中前面三种状态是进程的基本状态。
- 创建态:进程在创建时需要申请一个空白控制块(PCB),并向其中填写控制和管理进程的信息,以完成资源分配。
- 运行态:进程占用处理器资源,并在处理器上运行。
- 就绪态:进程已具备运行条件,但由于未分配到处理器而无法运行。
- 阻塞态:进程因等待某个事件的发生(如 I/O 操作)而暂时无法运行。
- 终止态:进程正常结束,或因出现错误,或被系统终止,进入终止状态。
进程状态的转换
进程的三种基本状态(就绪、运行、阻塞)之间可分为 六种转换情况:
- 就绪 → 运行:
当调度程序从就绪队列中选择该进程时,进程状态从就绪转换为运行。
- 运行 → 就绪:
当系统分配给该进程的时间片用完时,进程从运行状态转换为就绪状态。 在抢占式优先级调度算法的系统中,当有更高优先级的进程要运行时,当前进程被迫让出处理器,进入就绪状态。
- 运行 → 阻塞:
如果正在运行的进程因等待某个事件(如 I/O 请求)而无法继续执行,进程状态从运行转换为阻塞。
- 阻塞 → 就绪: 当进程所等待的事件完成后,进程进入就绪队列,状态从阻塞转换为就绪。
注意:以下两种状态转换是不可能发生的:
- 阻塞态 → 运行态
- 就绪态 → 阻塞态