进程的状态

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

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

五态模型图如下:

相关推荐
不羁。。1 小时前
【撸靶笔记】第七关:GET - Dump into outfile - String
数据库·笔记·oracle
wdxylb2 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞雪20073 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
路溪非溪3 小时前
关于Linux内核中头文件问题相关总结
linux
Lovyk5 小时前
Linux 正则表达式
linux·运维
好望角雾眠6 小时前
第一阶段C#基础-10:集合(Arraylist,list,Dictionary等)
笔记·学习·c#
Fireworkitte6 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil9007 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char7 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
yatingliu20198 小时前
HiveQL | 个人学习笔记
hive·笔记·sql·学习