进程的状态

进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。在三态模型 中,进程状态分为三个基本状态,即就绪态,运行态,阻塞态。在五态模型中,进程分为新建态、就绪态,运行态,阻塞态,终止态。
1. 运行态:进程占有处理器正在运行。
2. 就绪态:进程具备运行条件,等待系统分配处理器以便运行。当进程已分配到除 CPU 以外的所有必要资源后,只要再获得CPU ,便可立即执行。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。
3. 阻塞态:又称为等待 ( wait ) 态或睡眠 ( sleep ) 态,指进程不具备运行条件,正在等待某个事件的完成。(当等待事件完成时,并不是立即回到运行态,而是先变为就绪态。)
注意:当一个任务被阻塞时,它会释放所占用的 CPU 资源,使得其他进程能够获得执行的机会。
三态模型图如下:

4. 新建态:进程刚被创建时的状态,尚未进入就绪队列。
5. 终止态:进程完成任务到达正常结束点,或出现无法克服的错误而异常终止,或被操作系统及有终止权的进程所终止时所处的状态。进入终止态的进程以后不再执行,但依然保留在操作系统中等待善后。(保留的是内核区的数据,用户区的数据被删除了。)一旦其他进程完成了对终止态进程的信息抽取之后,操作系统将删除该进程。( 就绪态和阻塞态也可以直接到终止态。 )
新建态直接进入终止态:
在一些特殊情况下,可能存在直接从新建态到终止态的情况,但这通常是异常情况或特殊设计的系统。以下是一些可能导致直接从新建态到终止态的情况:
**1. 错误或异常情况:**如果在任务创建过程中发生了严重错误或异常,系统可能会选择将任务直接置于终止态,而不进入就绪态或运行态。
2. **任务创建失败:**如果任务创建时出现问题,例如分配不到足够的资源或创建过程中发生了错误,系统可能会直接将任务置于终止态。
3. **特殊系统设计:**在一些特殊的操作系统或嵌入式系统中,可能存在一些自定义的任务生命周期设计,使得任务在创建后立即进入终止态。

五态模型图如下:

相关推荐
阿絮~几秒前
Apache RocketMQ进阶之路阅读笔记和疑问
笔记·apache·rocketmq
天水幼麟5 小时前
动手学深度学习-学习笔记(总)
笔记·深度学习·学习
2401_826097627 小时前
JavaEE-Linux环境部署
java·linux·java-ee
天水幼麟7 小时前
动手学深度学习-学习笔记【二】(基础知识)
笔记·深度学习·学习
绿皮的猪猪侠8 小时前
算法笔记上机训练实战指南刷题
笔记·算法·pta·上机·浙大
(:满天星:)8 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
沧海一笑-dj8 小时前
【51单片机】51单片机学习笔记-课程简介
笔记·学习·51单片机·江科大·江科大学习笔记·江科大单片机·江科大51单片机
爱莉希雅&&&8 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊8 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
老虎06278 小时前
JavaWeb(苍穹外卖)--学习笔记04(前端:HTML,CSS,JavaScript)
前端·javascript·css·笔记·学习·html