2026 操作系统 系统调用 解答题
第 45 题

(本题满分 7 分)系统采用优先级(优先级越大表示优先级越高)与时间片轮转调度算法,仅当发生时钟中断时才触发抢占 CPU 操作,时钟中断间隔为 10 ms。进程首次进入就绪队列时,其时间片为 50 ms。若进程因时间片用完而返回就绪队列,其优先级值减 1;若进程被更高优先级进程抢占而返回就绪队列,其优先级值保持不变。当多个进程优先级相同时,先进入就绪队列的进程优先被调度。四个进程的到达时刻、初始优先级与 CPU 运行时间如下表所示:

进程到达就绪队列时间(ms)优先级CPU 运行时间(ms)
P110395
P210420
P312240
P414560

(1)从 10 ms 开始进程调度,直至所有进程调度结束,此时中断次数与 CPU 调度次数分别为多少?P1、P2、P3、P4 各自的首次调度发生在哪个时刻?(5 分)

(2)若时间片由 50 ms 改为 100 ms,CPU 调度次数将增大、不变还是减少?若时钟中断间隔由 10 ms 改为 1 ms,系统开销将增大、不变还是减少?(2 分)

[tag_link]

【答案】

(1)中断次数、CPU 调度次数与各进程首次调度时刻模拟调度过程,考虑时钟中断每 10 ms 发生一次,进程到达、完成及调度事件如下:

  • 10 ms:P1、P2 到达,CPU 空闲,调度 P2 运行(首次调度)。
  • 20 ms:时钟中断,P2 运行 10 ms 后被更高优先级的 P4 抢占,调度 P4 运行(首次调度)。
  • 70 ms:时钟中断,P4 时间片用完,优先级减 1,调度 P2 运行。
  • 80 ms:时钟中断,P2 完成,调度 P4 运行。
  • 90 ms:时钟中断,P4 完成,调度 P1 运行(首次调度)。
  • 140 ms:时钟中断,P1 时间片用完,优先级减 1,调度 P3 运行(首次调度)。
  • 180 ms:时钟中断,P3 完成,调度 P1 运行。
  • 225 ms:P1 完成,所有进程结束。中断次数:从 10 ms 开始,时钟中断时刻为 10, 20, …, 220 ms,共 22 次。CPU 调度次数:共 7 次(10 ms、20 ms、70 ms、80 ms、90 ms、140 ms、180 ms)。首次调度时刻
  • P1:90 ms
  • P2:10 ms
  • P3:140 ms
  • P4:20 ms

(2)参数变化的影响

  • 时间片由 50 ms 改为 100 ms:时间片增大,进程因时间片用完而让出 CPU 的次数减少,更多进程可能一次运行完成,从而降低进程切换频率,CPU 调度次数减少。
  • 时钟中断间隔由 10 ms 改为 1 ms:中断更频繁,每次中断均需进行调度检查,可能增加上下文切换次数与中断处理时间,系统开销增大。