进程(一)—— 组成与状态

进程(一)—— 组成与状态
最新回答
梦他

2022-03-20 20:02:29

程序段、数据段、PCB三部分组成了进程实体,引入进程实体的概后,可以把进程定义为:进程是进程实体的与运行过程,是系统进行资源分配和调度的一个独立单位。

进程正在被创建时的状态,在这个阶段OS会为进程分配资源,初始化PCB

进程创建完成后便进入就绪态,此时进程已经具备运行条件,但是由于没有空闲CPU,就暂时不能运行。一个系统中可能有很多处于就绪态中的进程

一个进程在CPU上运行,那么这个进程处于运行态,CPU会执行该进程对应的程序(执行指令序列)。单CPU情况下,同一时刻只会有一个进程处于运行态,多核CPU情况下可能有多个进程处于运行态

在进程运行的过程中,可能会请求等待某个事件的发生,在这个事件发生之前,进程无法继续往下执行,此时操作系统会让这个进程下CPU,进入阻塞态,当CPU空闲时,就又会选择另一个就绪态进程上CPU运行

一个进程可以执行 exit 系统调用,请求OS终止该进程。此时该进程会进入终止态,OS会让该进程下CPU,并回收内存空间等资源,最后还要回收PCB,当终止进程工作完成后,该进程就从OS中彻底消失了

进程状态的转换过程如下图所示:

可见,运行态到阻塞态是进程自身主动做出的行为,阻塞态到就绪态不是进程自身控制的,是一种被动行为。不能直接从阻塞态到运行态,也不能直接从运行态到阻塞态,都要经过就绪态这一中间状态。

在进程PCB中,会有一个变量state来表示进程的当前状态,如:1表示创建态,2表示就绪态等。为了对同一个状态下的各个进程进行统一的管理,操作系统会将各个进程的PCB组织起来。