进程状态与转换学习卡片

📌

进程的五种状态

点击查看详情

  • 创建态(New):进程正在被创建时的状态
  • 就绪态(Ready):已具备运行条件但未获得CPU
  • 运行态(Running):进程正在CPU上执行
  • 阻塞态(Blocked):等待资源/事件无法执行
  • 终止态(Terminated):进程结束,资源被回收

记忆提示:创建→就绪→运行→(可能阻塞)→终止

🆕

创建态

点击查看详情

  • 定义:进程正在被创建时的状态
  • 系统操作
    • 分配内存空间等系统资源
    • 完成PCB的初始化工作
  • 转换时机:创建完成后进入就绪态

记忆提示:创建态是进程的"出生"阶段

就绪态

点击查看详情

  • 定义:已具备运行条件但未获得CPU的状态
  • 特点
    • 仅缺少CPU资源
    • 系统中可能存在多个就绪态进程
  • 调度机制:CPU空闲时从就绪队列中选择进程运行

记忆提示:就绪态就像排队等待上台的演员

运行态

点击查看详情

  • 定义:进程正在CPU上执行的状态
  • 执行特征:CPU正在处理该进程对应的程序指令序列
  • 系统限制
    • 单CPU环境下同一时刻最多一个运行态进程
    • 多核CPU可并行运行多个进程

记忆提示:运行态是进程的"表演时间"

🚧

阻塞态

点击查看详情

  • 别称:等待态(Waiting/Blocked)
  • 触发条件
    • 等待系统资源分配(如打印机)
    • 等待其他进程响应
    • 等待特定事件发生
  • 特点:进程无法继续执行,必须释放CPU

记忆提示:阻塞态就像等待红绿灯的汽车

⏹️

终止态

点击查看详情

  • 别称:结束态(Terminated)
  • 触发条件
    • 进程主动调用exit系统调用
    • 遇到不可修复错误(如除零错误)
  • 系统操作
    • 回收所有资源(内存、设备等)
    • 撤销PCB
    • 进程从系统中彻底消失

记忆提示:终止态是进程的"生命终点"

🔄

状态转换

点击查看详情

  • 就绪态→运行态:进程被调度获得CPU
  • 运行态→就绪态
    • 时间片用完(时钟中断触发)
    • 被更高优先级进程抢占
  • 运行态→阻塞态
    • 主动请求等待资源/事件
    • 属于进程主动行为(通过系统调用)
  • 阻塞态→就绪态
    • 等待的资源/事件已就绪
    • 属于被动行为(进程无法控制)
  • 创建态→就绪态:系统完成创建相关工作
  • 运行态→终止态:进程正常结束或异常终止
🗂️

进程组织方式

点击查看详情

链接方式

  • 队列结构
    • 执行指针:指向当前运行态进程PCB
    • 就绪队列:按优先级排序(高优先级在队头)
    • 阻塞队列:可按等待资源类型细分
  • 管理优势:便于操作系统统一调度管理

索引方式

  • 实现方式
    • 为不同状态建立索引表
    • 表项指向对应PCB
  • 应用现状:多数操作系统采用链接方式

记忆提示:链接方式类似排队,索引方式类似查目录

⚠️

重要考点

点击查看详情

  • 状态转换条件:特别是运行↔就绪↔阻塞
  • 主动/被动转换:运行→阻塞为主动,阻塞→就绪为被动
  • 不可能发生的转换
    • 阻塞→运行(必须经过就绪态)
    • 就绪→阻塞
  • 易错点
    • 时间片用完导致运行→就绪(非阻塞)
    • 阻塞态必须等待外部事件触发
    • 创建/终止态的系统操作内容差异
  • 进程组织
    • 链式方式更常见
    • 阻塞队列可细分(如等待打印机、磁盘等)

记忆提示:丁字裤模型(三种基本状态)