操作系统中的进程有哪几种状态?

操作系统中的进程有哪几种状态?

重要内容

  • 创建状态 New :进程正在被创建,尚未进入就绪队列
  • 运行 running:进程正在占用CPU执行指令
  • 就绪 ready :进程已准备好运行,仅等待CPU分配
  • 阻塞 blocked :进程因等待某事件(如I/O操作完成、信号量释放)而无法继续执行
  • 终止状态 Terminated :进程执行完毕或异常终止,等待资源回收

扩展知识

状态转换的典型场景

  1. 运行 → 就绪
    • 时间片耗尽(分时系统)
    • 更高优先级进程就绪,抢占当前进程
  2. 运行 → 阻塞
    • 进程发起I/O请求(如读写文件)
    • 进程等待互斥锁或信号量
  3. 阻塞 → 就绪
    • I/O操作完成,中断触发唤醒
    • 等待的资源可用(如锁被释放)
  4. 就绪 → 运行
    • 调度器选择该进程分配CPU时间

状态转换图

特殊状态扩展(以 Linux 为例)

僵尸

  • 定义 :进程已终止,但其退出状态未被父进程读取(通过 wait() 回收)
  • 风险:长期僵尸进程会导致 PID 和内存资源泄漏
  • 查看命令ps aux | grep 'Z'

挂起

  • 定义:进程被临时移到外存(交换区),释放内存但保留 PCB
  • 主动挂起 :用户发送 Ctrl+Z(暂停并放入后台)
  • 被动挂起:系统因内存不足将进程换出
  • 恢复方式fg 命令或收到 SIGCONT 信号
相关推荐
明月看潮生11 小时前
青少年编程与数学 01-011 系统软件简介 02 UNIX操作系统
服务器·青少年编程·操作系统·unix·系统软件
明月看潮生11 小时前
青少年编程与数学 01-011 系统软件简介 05 macOS操作系统
macos·青少年编程·操作系统·系统软件·编程与数学
Lumos_1 天前
OpenEluer 安装 OpenLDAP
操作系统
GoGeekBaird1 天前
69天探索操作系统-第69天:高级进程调度:实时和基于优先级的任务管理技术
后端·操作系统
GoGeekBaird2 天前
69天探索操作系统-第68天:从用户到内核:实现动态系统调用处理以构建健壮的操作系统
后端·操作系统
免檒2 天前
第二章 进程管理
算法·操作系统
egoist20233 天前
【Linux仓库】冯诺依曼体系结构与操作系统【进程·壹】
linux·运维·服务器·开发语言·操作系统·冯诺依曼体系结构
望获linux3 天前
【Linux基础知识系列】第八篇-基本网络配置
linux·数据库·postgresql·操作系统·php·开源软件·rtos
GoGeekBaird3 天前
69天探索操作系统-第67天:从恐慌到解决:实施内核调试技术进行崩溃分析
后端·操作系统
shark-chili3 天前
Java并发编程哲学系列汇总
linux·运维·服务器·操作系统