2026/3/20课程博客 操作系统复习整理-第三章 调度与死锁

操作系统复习 - 第三章 调度与死锁

3.1 系统性能指标

3.1.1 CPU利用率

公式:CPU利用率 = CPU有效工作时间 / (CPU有效工作时间 + CPU空闲等待时间)

3.1.2 周转时间

作业从提交系统运行完成的总时间间隔。

3.1.3 平均周转时间

所有作业周转时间的算术平均值。
示例:5个作业周转时间 6、5、8、9、12
平均周转时间 = (6+5+8+9+12) / 5 = 8

3.1.4 带权周转时间

公式:W = 作业周转时间(T) / 作业服务时间(Ts) (W ≥ 1)
平均带权周转时间:所有作业带权周转时间的平均值。
示例数据:

作业 周转时间 服务时间 带权周转时间
作业1 6 4 1.5
作业2 5 3 1.6
作业3 8 6 1.33
作业4 9 3 3
作业5 12 6 2
平均带权周转时间 = (1.5+1.6+1.33+3+2) / 5 = 1.89

3.2 作业控制块(JCB)

存储系统管理、调度作业所需的全部信息。

3.3 多道程序度

内存中同时运行的作业数量,需结合系统规模、运行速度合理设置。

3.4 经典调度算法

3.4.1 FCFS 先来先服务

  • 规则:按作业/进程到达顺序调度;

  • 特点:有利于长作业、不利于短作业。

    3.4.2 SJF/SFS 短作业优先(非抢占式)

  • 规则:优先调度服务时间最短的作业;

  • 缺点:需预知作业运行时间、长作业易饥饿、不支持人机交互。

    3.4.3 抢占式短作业优先

    新进程到达后,对比当前进程剩余运行时间,剩余时间更短的进程抢占CPU。

    3.4.4 HRRN 高响应比优先

  1. 响应比公式:Rp = (等待时间 + 服务时间) / 服务时间

  2. 特点:

  • 等待时间相同:短作业优先(类SJF);

  • 服务时间相同:先来先服务(类FCFS);

  • 长作业等待时间越长,响应比越高,避免饥饿。

    3.4.5 RR 轮转调度算法(时间片轮转)

  1. 切换时机:
  • 时间片未用完,进程提前完成:立即调度下一个就绪进程;
  • 时间片用完,进程未完成:进程移入就绪队列队尾,切换进程。
  1. 特点:后到达进程优先级默认平等,适用于分时系统。

3.5 死锁

3.5.1 死锁定义

一组进程中,每个进程都等待其他死锁进程持有的资源,所有进程均无法继续执行。

3.5.2 死锁产生原因

  1. 竞争不可抢占资源;

  2. 竞争可消耗资源;

  3. 进程推进顺序不当。

3.5.3 死锁四大必要条件

  1. 互斥条件;

  2. 请求和保持条件;

  3. 不可抢占条件;

  4. 循环等待条件。

3.5.4 死锁四大处理方式

  1. 预防死锁:破坏必要条件;

  2. 避免死锁:规避不安全状态;

  3. 检测死锁:主动检测已发生的死锁;

  4. 解除死锁:终止进程/剥夺资源,恢复系统。

posted @ 2026-06-22 20:47  Moonbeamsc  阅读(16)  评论(0)    收藏  举报
返回顶端