�㷨ѡ��ԭ��
调度算法
调度算法的选择
资源利用率、响应时间、周转时间、吞吐量、公平性
优先数调度算法
根据进程的优先级调度进程
优先数的确定:
- 任务的紧迫程度
- 进程的交互性
- 进程使用外设的频度
- 进程进入系统的时间长短
与进入系统时间相关的优先数
- 计算时间短优先
- 剩余计算时间短进程优先
- 响应比(等待时间/进入时间)高者优先
- 先来先服务
- 多用于高级调度;低级调度中,以计算为主的进程过于优越
时间片轮转调度算法
根据各个进程进入就绪队列的时间先后轮流占用CPU一个时间片
时间片的确定:选择长短合适的时间片,过长则退化为先来先服务,过短则调度开销大
使用单时间片、多时间片和动态时间片
IO频繁任务适用短时间片,计算频繁任务适用长时间片
分级调度算法
建立多个不同优先级的就绪进程队列。多个就绪进程队列间按照优先数调度。高优先级就绪进程,分配的时间片短。单个就绪进程队列中进程的优先数和时间片相同
现代实现模型
- 多个高优先级的实时进程队列,如硬实时、网络、软实时
- 多个分时任务的进程队列,根据基准优先数和执行行为调整
- 队列数可能多达32-128个
彩票调度算法
基本思想:为进程发放针对系统各种资源的彩票。当调度程序需要做出决策时,随机选择一张彩票,持有彩票的进程获得系统资源。
合作进程之间进行彩票交换。