zoukankan      html  css  js  c++  java
  • 理解处理机调度

    一. 进程上下文切换

    进程切换 -> 处理机调度(挑选就绪队列中的一个PCB) -> 调度程序 -包含->

    1) 调度时机(什么时候挑?) -> 可抢占(时钟中断和优先级) 和 非抢占(退出和转等待)
    2) 调度策略(如何挑?) -> 调度准则 调度算法

    二. 调度准则

    1. CPU使用率
    2. 吞吐量 传输文件 -> 高带宽
    3. 周转时间
    4. 等待时间
    5. 响应时间 游戏 -> 低延迟

    三. 调度算法

    1. FCFS算法
    依据进程在就绪队列中的排队次序, 先来先提供服务.

    举例: 三个进程的计算时间 p1=12, p2=3, p3=3
    1) 任务到达顺序: p1 p2 p3
    周转时间: (12 + 15 + 18) / 3 = 15

    2) 任务到达顺序: p3 p2 p1
    周转时间: (3 + 6 + 18) / 3 = 9

    说明: 周转时间长, 进程等待时间就长.

    2. SPN算法
    短进程优先算法具有**最优平均周转时间**.

    缺点: 可能导致饥饿.

    3. HRRN算法
    最高响应比优先算法

    选择就绪队列中**响应比R值**最高的进程.

    响应比R值 = (等待时间 + 执行时间) / 执行时间

    规律: 等待时间越长, 优先级越高 -> SPN算法的改进

    4. RR算法
    时间片轮转算法
    处理机分配的基本单位: 时间片

    算法思想: 在FCFS算法基础上, 每个进程执行时间片n之后, 排回就绪队列尾部, 等待下次调度, 直到执行完毕...

    5. MQ算法
    多级队列调度算法

    算法思想: 就绪队列被划分为多个独立的子队列, 每个队列有属于自己的调度算法. 需要考虑队列间的调度.

    6. MLFQ算法
    多级反馈队列算法

    进程可在不同队列间移动.

    7. FSS算法
    公平共享调度算法

    控制用户对系统资源的访问.

    三. 实时调度和多处理机调度

    任务

  • 相关阅读:
    pbfunc外部函数扩展应用-直接在Datawindow中生成QR二维码,非图片方式
    一、PBNI环境搭建及初步使用
    Powerbuilder编写身份证校验码
    Maven本地安装JAR包组件
    使用SSH通过秘钥登录Linux
    Intellij IDEA下载
    ubuntu使用root用户登录桌面
    Ubuntu安装JDK1.8与配置环境变量
    Ubuntu 安装 JDK 7 / JDK8 的两种方式
    CentOS 7.0关闭默认防火墙启用iptables防火墙
  • 原文地址:https://www.cnblogs.com/shaohsiung/p/9977598.html
Copyright © 2011-2022 走看看