• 【操作系统】调度算法


    周转时间=完成时间-到达时间

    带权周转时间=周转时间/运行时间

    等待时间=周转时间-运行时间

    响应比=(等待时间+要求服务时间)/   要求服务时间

    先来先服务(FCFS)

           按到达时间顺序。

           非抢占式算法。

           优点:公平、算法实现简单;

           缺点:对长作业有利,对短作业不利(在排长作业后的带权周转时间大)。

           不会导致饥饿(进程/作业长期得不到服务)。

    短作业优先(SJF)/短进程优先(SPF)

           选当前已经到达且运行时间最短的作业;

           SJF、SPF非抢占式,最短剩余时间优先(SRTN)抢占式。

           优点:"最短的"平均等待时间、平均周转时间;

           缺点:对短作业有利,对长作业不利。

           可能导致饥饿。

    高响应比优先(HRRN)

           计算作业/进程的响应比,选择响应比最高的作业/进程。

           非抢占式

           避免了长作业饥饿

    时间片轮转(RR)

           轮流执行一个时间片

           用于进程调度

           抢占式(时钟中断)

           优点:公平,响应快,适用于分时操作系统;

           缺点:不区分任务紧急程度,时间片太大——FCFS,时间片太小——进程切换开销大。

          不会导致饥饿。

    优先级调度算法

          每个进程都有自己的优先级,先运行优先级高的。

          抢占式、非抢占式都有。

          静态优先级:创建进程时确定,之后一只不变

          动态优先级:创建进程时有初始值,之后根据情况动态的调整。

          通常:

                  系统进程优先级>用户进程

                   前台进程>后台进程

                   操作系统更偏好I/O型进程

           灵活,会发生饥饿。

    多级反馈队列调度算法

           多级就绪队列,各级队列优先级从高到低,时间片从小到大,逐级分配时间片,新进程先进入第一级队列FCFS,时间片用完还未结束到下一级,最下一级放末尾。

           抢占式。

           有FCFS、RR、SPF的优点,不必实现估计进程的运行时间(避免用户作假),可灵活地调整对各类进程的偏好程度(CPU密集型、I/O密集型)

    多级队列调度算法

          系统中按进程类型设置多个队列,进程创建成功后插入某个队列,如:

    40a8ac3d6c0146cbbeb2b33503175305.png

     

     

  • 相关阅读:
    Linux 文件操作(三) —— 获取并打印某个文件的属性(文件类型、执行权限、文件大小)
    Cordova系列之化繁为简:打造全场景适用的Cordova组件
    羧基功能化咪唑基离子液体[CEBIM][PF6]改性普鲁士兰多糖的反应合成
    第1篇 目标检测概述 —(1)目标检测基础知识
    【mybatis基础】
    Java 基本数据类型
    基于RT1052与外设AT24C02的I2C通信demo
    电源小白入门学习10——浪涌、防浪涌器件、浪涌保护芯片
    Vue原生写全选反选框
    SQL优化思路整理
  • 原文地址:https://blog.csdn.net/l203018/article/details/134456990