OS - 处理器的两级调度及常见算法



主要参考:

  • 《操作系统概论》(机械工业出版社)

处理器的两级调度

处理器两级调度

  • 预输入

    • “输入井”磁盘中用来存放作业信息的专用区域;
    • “后备作业”:已装入输入井中等待处理的作业
  • 作业调度

    • 一个必要条件:当前系统中尚未分配的资源可满足备选作业的资源要求

常见作业调度算法

  • 先来先服务算法

    首先按照作业进入输入井的先后顺序,同时当前系统中未被分配的资源还要能满足作业的资源需求

  • 计算时间短的作业优先算法

    优先选择(预估)计算时间短,且资源能得到满足的作业

  • 响应比高者优先算法

    响应比 = 等待时间 / (预估)计算时间

    根据等待时间的变化来动态调整响应比

  • 优先级调度算法

    先按照优先级进行调度,相同优先级的任务再按照先来先服务原则进行调度

  • 均衡调度算法

    先根据作业对资源的不同需求进行分类,再从不同分类的作业中去挑选调度,以尽可能地使系统资源都被重复利用

常见进程调度算法

  • 先来先服务调度算法

    按照进程进入就绪队列的先后次序(新的进程就绪排入就绪队列的末尾,而进程调度总是把处理器分配给就绪队列中的第一个进程)

  • 最高优先级调度算法

    进程调度总是让当前最高优先级的进程先使用处理器

    有更高优先级的进程就绪时,对于正在处理器中执行的进程,有两种处理方式

    • 非抢占式:已在处理器中的进程将一直执行下去,直到由于它自身原因(工作结束或出现等待事件)而主动让出处理器,再有进程调度重新分配处理器;
    • 可抢占式:严格保证任何时刻总是让具有最高优先级的进程在处理器上运行

    也可与先来先服务调度算法混合使用,对于相同优先级的进程,采用先来先服务策略

  • 时间片轮转调度算法

    时间片:允许进程一次占用处理器的最长时间。时间片的取值大小,关系到计算机系统的效率和用户的满意度对于不同进程,时间片设置也可不同

    同样是先按照进程就绪的先后次序排成队列,调度时总是先执行就绪队列中的第一个进程(先来先服务);
    进程在一个时间片内未执行完或出现等待时间,下次就绪时重新排入就绪队列末尾


posted @ 2018-09-12 09:59  JustKidding  阅读(1225)  评论(0编辑  收藏  举报