操作系统调度学习卡片

📊

调度程序的作用

状态转换控制
负责进程在就绪态运行态之间的转换
决策内容
  • 进程选择:通过调度算法决定哪个就绪进程获得CPU资源
  • 时间分配:确定进程获得的时间片大小
本质功能
管理当前运行进程的下处理机决策和就绪队列进程的上处理机选择
⏱️

调度时机

常规触发事件
  • 进程创建:新进程加入就绪队列可能引发抢占
  • 进程终止:运行进程结束导致CPU空闲
  • 进程阻塞:运行进程主动放弃CPU
  • I/O中断:可能唤醒阻塞进程改变就绪队列
调度策略差异
  • 非抢占式:仅当运行进程阻塞或退出时触发
  • 抢占式:每个时钟中断或每个时钟中断强制触发检查
关键机制
就绪队列的任何变动都会触发调度程序重新评估
🧵

线程调度

不支持内核级线程的操作系统
  • 调度单位:以整个进程为基本调度单位
  • 资源分配:进程既是调度单位也是资源分配单位
  • 执行特点:进程内所有线程共享同一个CPU时间内
支持内核级线程的操作系统
  • 调度单位:内核线程成为基本调度单位
  • 资源分离
    • 调度层面: 内核线程独立参与CPU竞争
    • 资源层面: 进程仍作为内存等资源的分配单位
  • 并发优势:同一进程的多个线程可并行执行在不同CPU核心
😴

闲逛进程

核心作用
作为就绪队列为空时的默认运行进程,保持CPU持续运转
特性
  • 优先级特征:系统最低优先级,确保随时可被其他进程抢占
  • 执行特点
    • 循环执行零地址指令(不涉及访存或寄存器访问)
    • 完整指令周期后自动检查中断
  • 能效优势:特殊指令设计使CPU处于低功耗状态
  • 调度关联:通过周期性中断唤醒调度程序检查新就绪进程