进程的状态

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

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

五态模型图如下:

相关推荐
中屹指纹浏览器1 分钟前
2026WebGL2着色器浮点精度与帧缓存像素指纹溯源及内核渲染层差异化改造详解
经验分享·笔记
YunQuality7 分钟前
老牌连接器大厂盛凌电子启动QMS数字化升级:制造企业的质量内卷,终于不靠“人盯人”了
笔记·制造·职场·工业软件
Lucky_ldy8 分钟前
51单片机的学习下(结合中科协的个人自用笔记)
笔记·学习·51单片机
2023自学中16 分钟前
Linux虚拟机,VSCode + GDB 调试配置:launch.json 模板
linux·vscode·嵌入式
RisunJan19 分钟前
Linux命令-ntsysv(集中管理系统的各种服务)
linux·运维·服务器
Championship.23.2421 分钟前
Linux 3.0 USB机制深度解析:USB 3.0支持与传统外设驱动架构
linux·运维·架构·usb
剑神一笑24 分钟前
Linux lsblk 命令详解:块设备信息查看与磁盘管理实战
linux·运维·服务器
2023自学中25 分钟前
Linux 解压命令速查表
linux·服务器·嵌入式·开发板
geshifei26 分钟前
Sched_ext 回调深度解析(八):running —— 任务开始执行(6.18.26)
linux·ebpf
say_fall27 分钟前
Linux系统编程(十一):深入理解Linux进程地址空间
android·linux·运维