进程优先级 - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki

综述

  • 每个进程都有优先级 p-nice ,定义在 proc
  • 范围在 +127 ~ -128
  • p-nice 越小,优先级越高

优先级常量

定义在 param.h

常量 简述
PSWP -100
PINOD -90 因等待 使用磁盘超级块的空闲块数组 而睡眠的进程的优先级
PRIBIO -50 因等待I/O操作而睡眠的进程的优先级
EXPRI -1 睡眠在execnt上的进程的优先级
IPCPRI -1 因等待 ipc 而睡眠的进程的优先级
PPIPE 1 因等待使用管道而睡眠的进程的优先级
TTOPRI 20 等待 字符I/O输出缓存队列 的进程的优先级
PWAIT 40 等待子进程结束的进程的优先级
PSLEP 90 调用系统调用sslep,因tout而睡眠的进程的优先级
PUSER 100

睡眠优先级

进程睡眠时赋予的优先级,唤醒后,进程在此优先级上运行

  • 分为以下两种
    • 低优先权睡眠(SWAIT)
    • 高优先权睡眠(SSLEEP)
  • 之所以分为两类优先权睡眠,在进程图像调度(sched)中,有不同对待
⚠️ **GitHub.com Fallback** ⚠️