2.1.2 进程的状态与转换
知识来源: B站王道考研
进程的状态
三种基本状态
概念: 进程是程序的一次执行。在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,可见,进程的状态是会有各种变化的。
三种基本状态
运行态(Running)
就绪态(Ready)
阻塞态(Waiting/Blocked,等待态)
运行态: 占用CPU,并在CPU上运行。
单核处理机环境下,每个时刻最多只有一个进程处于运行态。(双核环境下可以同时有连个进程处于运行态)
就绪态: 已经具备运行条件,但由于没有空闲CPU,而暂时不能运行。
进程已经拥有了除处理机之外所有需要的资源,一旦获得处理机,即可立即进入运行态开始运行。万事俱备,只欠CPU。
阻塞态:因等待某一事件而暂时不能运行。
如:等待操作系统分配打印机、等待读磁盘操作的结果。
当进程运行结束(或者bug导致进程无法继续执行下去,比如数组越界错误),需要撤销进程。
操作系统需要完成撤销进程相关的工作。完成将分配给进程的资源回收,撤销进程PCB等工作。
另外两种状态
另外两种状态:
创建态(New,又称:新建态)
终止态(Terminated,又称:结束态)
创建态: 进程正在被创建,操作系统为进程分配资源,初始化PCB。
终止态: 进程正在从系统中撤销,操作系统会回收进程拥有的资源,撤销PCB。
阻塞态 -->就绪态:不是进程自身能控制的,是一种被动的行为。
运行态 -->阻塞态:是一种进程自身做出的主动行为。
注意:不能由阻塞态直接转换为运行态,也不能由就绪态直接转换为阻塞态 (因为进入阻塞态是进程主动请求的,必然需要进程在运行是才能发出这种请求)