421 字
2 分钟
进程的五种状态:新建、就绪、运行、阻塞与终止
基础五种状态
- 新建态:刚取完号还在填基础信息,还没真正进入等待大厅。操作系统正在给进程分配 PID 和 PCB。
- 就绪态:坐在大厅里资料都齐了,就等叫号。CPU 一空闲就能立马去运行。
- 运行态:叫到号了,正在柜台办业务,占用着 CPU 执行指令。单核 CPU 同一时刻只能有一个进程在运行,多核可以并行跑多个。
- 阻塞态:办到一半柜员说身份证复印件没带,得去旁边复印或者等家里人送来。这时候就算柜台空出来了也没法办,必须等复印好了才能重新回去排队,不能直接插队继续。
- 终止态:业务办完了,或者因为异常被赶走了,进程结束,资源被回收。

挂起状态
除了基础五态,为了应对内存不够的情况,操作系统还引入了挂起的概念。
内存紧张时,操作系统把暂时不运行的进程从内存踢到磁盘的 Swap 分区,给活跃进程腾地方。这就衍生出就绪挂起和阻塞挂起两种状态。

进程从阻塞态能直接变成运行态吗?
不能,必须先回到就绪态排队。阻塞态的进程等待的事件完成后,操作系统只是把它放回就绪队列,什么时候真正上 CPU 还得看调度器的安排。如果当前 CPU 正在跑一个高优先级进程,刚解除阻塞的进程可能还得等很久。
进程的五种状态:新建、就绪、运行、阻塞与终止
https://blog.xqcherry.top/posts/interview/operating-system/process-states/ 目录