进程的调度

调度的目标和类型

进程调度的类型

按OS的类型划分

批处理调度、分时调度、实时调度、多处理机调度

按调度的层次划分

  • Long-term scheduling(长程调度)
    又称高级调度、作业调度
    为被调度作业或用户程序创建进程、分配必要的系统资源,并将新创建的进程插入就绪队列,等待 Short-term scheduling
    decide: which ,how many program are admitted
  • Medium-term scheduling(中程调度)
    就绪/挂起(的进程) -> 就绪
    (被挂起的放在了外存,但其PCB仍在内存)
    即从被挂起的进程中选进程到就绪状态里去
  • Short-term scheduling(短程调度)
    又称进程调度,低级调度
    调度内存中的就绪进程执行
    决定就绪队列中那个将获得处理机
    就绪 -> 运行
    在这里插入图片描述

进程调度的目标

面向用户

  • Response Time (响应时间)
    提交命令到响应结果的时间
    评价分时系统的性能。

  • Turnaround Time(周转时间)
    作业提交给系统开始到作业完成为止

    响应时间 vs 周转时间
    比如你让我回答:100加100加100加100减100等于多百少? 我用2秒回答了你等于300 那么我要计算你这个问题是要时间的我花了1.8秒来运算就是周转时间. 总共用了2秒准确地回答了你的问题就是响应时间. 计算过程是周转时间.接到命令到计算出度答案就是响应时间.

  • Deadlines(截止时间)
    任务必须开始执行的时间
    以及
    必须完成的最迟时间

面向系统

  • Throughput(吞吐量)
    单位时间内系统所完成的作业数
    用于评价批处理系统的性能
  • 处理机利用率
    处理机忙碌的百分时间比
    而且是高效的忙碌(非忙等情况)
  • Balancing Resource(资源平衡)
    系统希望所有设备都一样忙碌
    适时的调度IO型、计算型之类
    (作业调度、中程可以考虑这个因素,进程调度就不行了)
  • Fairness(公平性)
    顾名思义,希望没有进程遭遇饥饿
  • Priorities(优先级)
    顾名思义
    低优先级饥饿的解决方案(基于生存期改变其优先级,寒门亦可出贵子)

调度算法

  • 目标:平均周转时间短
  • 知识储备:剥夺与非剥夺
  • 操作系统各调度算法
    • Nonpreemptive(非剥夺方式)
      进程正在执行,不会强制剥夺其处理机,除非主动终止(执行完了)或执行IO去了,阻塞自己
      对周转时间友好,性能差
      主要用于批处理系统
    • Preemptive(剥夺方式)
      当前执行进程可以被中断,移到就绪队列中
      性能好,对周转时间不友好
      主要用于实时系统和高性能批处理系统

First-Come-First-Served

  • FCFS 先来先服务算法
    顾名思义
  • 非剥夺方式
    不利于短进程(解决:按进程长短分队列进行)
    不利于IO型进程(解决:IO型执行过一次IO后在新的优先级更高的就绪队列排)
    利于使用cpu即计算型
  • 平均周转时间:8.6(等待时间可能大于执行时间)

Round Robin (Virtual round robin)

  • 轮转调度法
    所有进程轮着执行,不一定一次就执行完
    时间片控制每次轮转的执行时间
  • 对于IO型
    根据是否发生IO,统计IO型,放至优先就绪队列,时间片更长

Shortest Process Next

  • 短进程优先
  • 难点:需要估算进程的服务时间

Shortest Remaining Time

  • 剩余时间最短者优先
  • 难点:需要估算进程的服务时间

Highest Response Ratio Next

  • 响应比高者优先
    响应比 =(等待时间+服务时间) / 服务时间
  • 难点
    需要估算进程的服务时间
    计算量大
    (理论太完美而难以工程应用)

Feedback

  • FB, 反馈调度法
    将进程的就绪队列排成多个
    时间片越来越长
    相当于一层层过滤,滤出长的进程
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值