一、
问题描述:
打印机服务程序,采取动态优先级方案,有三种调度策略。
动态优先级方法:
- 任何时刻, 用户都可以向服务器发送打印请求
- 每个请求包含打印文件的文件名字, 页数.
- 服务器根据文件页数初始化该请求的优先级, 并将该打印请求放入对应的队列中.
- 具体的初始化优先级算法见后续描述
- 如果打印机空闲, 则从优先级最高的非空队列中选择请求进行打印
- 如果打印机忙, 则让其继续打印
- 当一个打印任务完成, 服务器将进行以下操作
- 如果所有队列为空, 则等待新的任务到来.
- 如果存在队列非空, 则从优先级最高的非空队列中选择一个请求. 同时, 如果一个队列 qi qi 已经被访问过 k k 次, 则选择优先级最高非空队列 qj,j>i qj,j>i, 从 qj qj 中选择一个任务将其放入 qi qi 中, 并清空