linux系统进程有哪几种主要状态,Linux 进程状态详解

目的

为了对进程从产生到消亡的整个过程进行跟踪和描述,就需要定义各种进程的各种状态并制定相应的状态转换策略,以此来控制进程的运行。

粗略分类

运行态:进程占用CPU,并在CPU上运行;

就绪态:进程已经具备运行条件,但是CPU还没有分配过来;

阻塞态:进程因等待某件事发生而暂时不能运行;

linux系统进程有哪几种主要状态,Linux 进程状态详解_第1张图片

当然理论上上述三种状态之间转换分为六种情况;

运行 → 就绪:这是有调度引起的,主要是进程占用CPU的时间已耗尽。

就绪 → 运行:当前运行的进程的时间片用完,调度就从就绪队列中选择合适的进程分配给CPU。

运行 → 阻塞:发生了I/O请求或等待某件事的发生。

阻塞 → 就绪:进程所等待的事件发生,就进入就绪队列。

以上4种情况可以相互正常转换,不是还有两种情况吗?

阻塞 → 运行:即使给阻塞进程分配CPU,也无法执行,操作系统进行调度时不会从阻塞队列进行挑选,其调度的选择对象为就绪队列。

就绪 → 阻塞:因为就绪态根本就没有执行,何来进入阻塞态?

详细分类

现在知道了进程的三种基本状态,但是在操作系统具体现实中,设计者可以根据实际情况设置

你可能感兴趣的:(linux系统进程有哪几种主要状态,Linux 进程状态详解)