Skip to content

2016年 408 操作系统 第 46 题

操作系统2016年综合题6分

题目 ​

某进程调度程序采用基于优先数(priority)的调度策略,即选择优先数最小的进程运行。进程创建时由用户指定一个 nice 作为静态优先数。

为了动态调整优先数,引入:

  • 运行时间 cpuTime(初值 0)
  • 等待时间 waitTime(初值 0)

更新规则:

  • 进程处于执行态时:cpuTime 定时加 1,且 waitTime 置 0
  • 进程处于就绪态时:cpuTime 置 0,waitTime 定时加 1

请回答下列问题:

(1) 若调度程序只将 nice 的值作为进程的优先数,即 priority = nice,则可能会出现饥饿现象,为什么?

(2) 使用 nice、cpuTime 和 waitTime 设计一种动态优先数计算方法,以避免产生饥饿现象,并说明 waitTime 的作用。

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数