•
为每一个优先级维护一个进程列表,并将这些列表组织在 active 数组中。当选
取下一个被调度进程时,从 active 数组中直接读取。
•
与 O(1) 算法不同在于,当进程用完了自己的时间片后,并不是被移到 expire
数组中。而是被加入 active 数组的低一优先级列表中,即将其降低一个级别。
•
这里只是将该任务插入低一级优先级任务列表中,任务本身的优先级并没有改
变。当时间片再次用完,任务被再次放入更低一级优先级任务队列中。
•
任务下到最低一级楼梯时,它被移回比其先前最大值低一个级别,并且在该级
别获得两个时间片。此后,它再次沿着台阶向下延伸到底部。下次,它将比最
大值低两步,持续三个时间段。它被移回比其先前最大值低一个级别,并且在
该级别获得两个时间片。此后,它再次沿着台阶向下延伸到底部。下次,它将
比最大值低两步,持续三个时间段。