进程状态
导言
在上篇说到,进程是程序的一次执行。在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU的服务,可见,进程存在多种状态。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态。
下面介绍进程的三种基本状态和另外两种状态。
三种基本状态
- 运行态
进程拥有了CPU资源和其他所需资源。(比如打印机资源,当打印机准备好,打印机才能为该进程服务) - 就绪态
进程拥有了其他所需资源,但还没拥有CPU资源。(当打印机准备好,该进程等待CPU的调度) - 阻塞态
进程既没有CPU资源也没有其他所需资源。(当打印机资源在准备的时候,该进程不占用打印机资源,而且CPU会执行其他进程的指令)
另外两种状态
当我们刚开始运行程序的时候,操作系统需要为该进程分配所需的内存空间等系统资源,并为其创建、初始化PCB。(如 分配进程标识符PID),此时,该进程就处于创建态。而当进程结束时 (正常结束或者由于bug导致进程无法继续执行下去,如 整数除0错误),操作系统会回收分配给该进程的系统资源以及撤销该进程的PCB…,目的是为了撤销该进程,此时,该进程就处于终止态。
- 创建态
进程正在被创建,操作系统为该进程