操作系统中的进程有哪几种状态?
重要内容
- 创建状态 New :进程正在被创建,尚未进入就绪队列
- 运行 running:进程正在占用CPU执行指令
- 就绪 ready :进程已准备好运行,仅等待CPU分配
- 阻塞 blocked :进程因等待某事件(如I/O操作完成、信号量释放)而无法继续执行
- 终止状态 Terminated :进程执行完毕或异常终止,等待资源回收
扩展知识
状态转换的典型场景
- 运行 → 就绪
- 时间片耗尽(分时系统)
- 更高优先级进程就绪,抢占当前进程
- 运行 → 阻塞
- 进程发起I/O请求(如读写文件)
- 进程等待互斥锁或信号量
- 阻塞 → 就绪
- I/O操作完成,中断触发唤醒
- 等待的资源可用(如锁被释放)
- 就绪 → 运行
- 调度器选择该进程分配CPU时间
状态转换图

特殊状态扩展(以 Linux 为例)
僵尸
- 定义 :进程已终止,但其退出状态未被父进程读取(通过
wait()
回收) - 风险:长期僵尸进程会导致 PID 和内存资源泄漏
- 查看命令 :
ps aux | grep 'Z'
挂起
- 定义:进程被临时移到外存(交换区),释放内存但保留 PCB
- 主动挂起 :用户发送
Ctrl+Z
(暂停并放入后台) - 被动挂起:系统因内存不足将进程换出
- 恢复方式 :
fg
命令或收到SIGCONT
信号