进程的三种基本状态
-
进程是程序的一次执行。在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,可见,进程的状态是会有变化的。为了方便进程的管理,操作系统需要将进程合理的划分为几种状态。
-
进程的三种基本状态为运行态(Running)、就绪态(Ready)、阻塞态(Waiting/Blocked,又称等待态)。
-
如果进程处于运行态,则它正在占有CPU,并在CPU上运行;如果进程处于就绪态,则它已经具备运行的条件,但由于没有空闲的CPU而暂时不能运行(万事具备,只欠CPU);如果进程处于阻塞态,则它因等待某一事件而暂时不能运行。
进程的另外两种状态
-
进程的另外两种状态为创建态(New,又称新建态)和终止态(Terminated,又称:结束态)。
-
如果进程处于创建态,则它正在被创建,操作系统为其分配资源和初始化PCB;如果进程处于终止态,则它正在被从系统中撤销,操作系统会回收它所拥有的资源、撤销PCB。
进程状态的转换
-
创建态 -----> 就绪态:系统完成创建进程的一系列工作。
-
就绪态 -----> 运行态:进程被调度。
-
运行态 -----> 就绪态:时间片(每个进程允许执行的时间)到,处理机被其他进程抢占。
-
运行态 -----> 阻塞态:进程用“系统调用”的方式申请某种系统资源,或者请求等待某个事件发生。
-
运行态 -----> 终止态:进程运行结束,或者运行过程中遇到不可修复的错误,如数组越界,整数除0。
-
阻塞态 -----> 就绪态:申请的资源被分配,或等待的事件发生。