zoukankan      html  css  js  c++  java
  • 进程调度

    调度的基本概念

    调度的最根本目标

    • 保证CPU资源和其他资源利用的合理性和有效性

    • 合理性:根据调度策略合理分配处理机,既要保证系统实现特殊功能的要求,又要使各个作业合理使用处理机资源

    • 有效性:按调度策略使处理机和I/O设备得到合理有效的分配,资源充分利用

    • Scheduler程序:制定调度策略

      Dispatcher程序:用于将处理机资源的控制权分配给选中的进程

    调度的类型

    • 高级调度/作业调度:按算法从后备作业队列中选择满足条件的作业,分配资源,创建PCB,入主存就绪队列
      • 用于多道批处理系统,执行频率低
    • 低级调度/进程调度:按算法从就绪队列中选择满足条件的进程,分配CPU运行
      • 抢占/非抢占
      • 必须有进程调度,频率高
    • 中级调度/内存调度:将主存中长期未执行的进程,按算法入盘交换区;满足执行条件后再入主存

    选择准则

    • 面向用户四准则
      • 响应时间
      • 周转时间:作业提交到完成经过的时间
      • 截止时间保证
      • 优先权准则
    • 面向系统三准则
      • 系统吞吐量:单位时间内处理的任务数
      • CPU利用率
      • 各类资源的平均利用

    调度中的时间

    周转时间

    • 周转时间 = 作业完成时间 - 作业提交时间
    • 平均周转时间 = (作业1周转时间 + ... +作业n周转时间) / n
    • 带权周转时间 = 作业周转时间 / 作业实际运行时间
    • 平均带权周转时间 = (作业1带权周转时间 + ... + 作业n带权周转时间) / n

    等待时间

    • 进程等待处理机的时间之和
    • 衡量调度算法优劣的标准

    响应时间

    • 从用户提交请求到系统首次产生响应所用时间

    典型调度算法

    先来先服务FCFS(First Come First Serve)

    • 思想:第一个来的第一个服务
    • 优点:简单,易于实现;公平;
    • 缺点:平均等待时间长;短作业不利;紧迫性作业不利;
    • 若一个进程很长时间得不到运行,则称为“饿死现象”,FCFS不会饿死

    短作业优先SJF(Shortest Job First)

    • 思想:最短的作业先 抢占式/非抢占式
    • 优点:平均等待时间最小;系统吞吐量增加;
    • 缺点:长作业不利;需要知道每个作业所需的执行时间;

    时间片轮转RR(Round Robin)

    • 思想:按时间片轮着来,下一个运行的进程按照队列形式选出
    • 优点:平均响应时间短
    • 缺点:性能与时间片大小有关
    • 如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。结束的进程会从运行队列中清除,剩下的时间片随进程结构的清除而清除,并不影响到其他进程的调度

    优先权调度PSA(Priority)

    • 思想:优先权最高的先 一般数小优先权大

    • 类型:抢占式/非抢占式

    • 优先权类型:静态优先权、动态优先权

      • image-20200309162048511

    高响应比优先HRRN(Highest Response Ratio Next)

    • 思想:最高响应比是下一个 动态优先权

    • 响应比Rp=1+(等待时间/要求运行时间) 等待时间在动态变化

    多级队列调度(Multilevel Queue)

    • 思想:系统设置多个就绪队列,分配不同优先权,先调用优先权高的进程,高优先权队列为空时才调度低一级优先权队列中的进程。

    多级反馈队列(优点融合)

    • 思想:
      1. 设置多个不同的优先权就绪队列
      2. 各队规定一时间片,优先权越高,时间片越小
      3. 新进程先入高优先权队列,执行规定时间片,未完成,入下一级队尾
      4. 高优先权队列为空,执行下一级队列进程...
      5. 若有新入就绪队列的进程,中止低优先权队列进程执行。被中止进程入本队队尾
      6. 最后一级队列采用时间片轮转
    • 优点:
      • 终端型作业用户:短作业优先
      • 短批处理作业用户:周转时间较短
      • 长批处理用户:经过前面几个队列得到部分执行,不会长期得不到处理

    实时系统及多核系统的调度

    实时系统

    image-20200312203520184

    完成截止时间转为开始截止时间要求,满足实时任务对截止时间的要求

    蓝色为A周期;红色为B周期;箭头为在一个周期内最晚要开始任务的时间,即开始截止时间;

    箭头在前面的任务更紧迫;

    • 实时系统要求
      • 提供必要的调度信息
      • 抢占式调度方式
      • 有较强的中断处理机构
      • 具有快速任务分配机制
  • 相关阅读:
    聚类
    xgboost 调参
    欠拟合,过拟合及正则化
    动态规划( python)
    链表(python)
    数组和字符串(python),双指针
    二叉树的前中后遍历,层次遍历,树的递归问题(递归与迭代python)
    Web前端学习第十六天·fighting_JavaScript(DOM编程艺术5-6章)
    Web前端学习第十五天·fighting_JavaScript(DOM编程艺术3-4章)
    前端面试题整理【转】
  • 原文地址:https://www.cnblogs.com/localhost-ha/p/12449109.html
Copyright © 2011-2022 走看看