3.1处理机调度的层次和调度算法

先行知识

  • 处理机调度的主要目标

    • 充分有效地利用处理机(CPU)资源
  • 处理机调度的对象
    • 作业、进程
  • 作业与进程的关系
    • 作业是任务实体,如:一次计算,一个控制过程
    • 进程是执行实体,是系统分配资源的基本单位
    • 一个作业由一个以上进程组成

1、处理机调度的层次

⑴高级调度(单向)

  • 又称长程调度或作业调度。
  • 高级调度主要用于多道批处理系统中。

⑵低级调度

  • 又称为进程调度或短程调度。
  • 进程调度是基本调度,所有系统都必须配备。

⑶中级调度(双向)

  • 又称为内存调度。
  • 主要目的是提高内存利用率和系统吞吐量。
  • 中级调度实际上就是存储器管理中的对换功能。
  • 可任选。

2、处理机调度算法的目标

总体目标

  • 资源利用率:为提高系统的资源利用率,应使系统中的处理机和其他所有资源都尽可能地保持忙碌状态。
  • 公平性:指应使诸进程都获得合理的CPU 时间,不会发生进程饥饿现象。
  • 平衡性:使系统中的CPU和各种外部设备都能经常处于忙碌状态,调度算法应尽可能保持系统资源使用的平衡性。
  • 策略强制执行:系统中的某些策略比如安全策略在必要的时候必须执行,即使会造成某些工作的延迟也要执行。

三种基本操作系统的目标

周转时间

  • 平均周转时间:
  • 带权周转时间:W=T/Ts
  • 平均带权周期时间:

3.2作业与作业调度

3.2.1批处理系统中的作业及调度

1、作业和作业步

  • (1)作业:作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。
  • (2)作业步:作业中相对独立又相互关联的加工步骤。

2、作业控制块JCB

在作业运行期间,系统就按照JCB中的信息和作业说明书对作业进行控制。

3、作业运行的三个阶段和三种状态

  • ⑴收容阶段→后备状态
  • ⑵运行阶段→运行状态
  • ⑶完成阶段→完成状态

4、作业调度的主要任务

按照一定的调度算法,从外存的后备队列中,选取某些作业调入内存,并为它们创建进程分配必要的资源

  • 在每次执行作业调度时,须做出以下两个决定:

    • 接纳多少个作业
      取决于多道程序度,即允许多少个作业同时在内存中运行。
    • 接纳哪些作业
      取决于所采用的调度算法

3.2.2先来先服务和短作业优先调度算法

1.先来先服务FCFS(first-come first-served):

  • 该算法按照作业到达的先后次序进行调度。

    • 优点:实现简单。
    • 缺点:
      • 没考虑作业(进程)的优先级
      • 效率不高,只顾及作业等候时间,没考虑作业要求服务时间的长短;不利于短作业

FCFS算法示例

下表列出了A、B、C、D四个作业分别到达系统的时间、要求服务的时间、开始执行的时间及各自的完成时间,计算出各自的周转时间和带权周转时间。

FCFS的特点

  • 比较有利于长作业,而不利于短作业。

  • 有利于CPU繁忙的作业,而不利于I/O繁忙的作业。

    • CPU繁忙型作业:该类作业需要大量的CPU时间进行计算而很少请求I/O。如通常的科学计算。
    • I/O繁忙型作业:指CPU进行处理时,需频繁的请求I/O。目前大多数事务处理都属于I/O繁忙型作业。
  • 貌似“公平”!短作业等待时间长

  • 属于非抢占式

2.短作业优先SJF(short job first):

  • 该算法从队列中选出一个最短的作业进行调度。

    • 优点:平均周转时间最短。
    • 缺点:①对长作业不利;②必须预知作业的运行时间

SJF算法示例


注意,调度过程中,从就绪队列中选出作业的顺序是:
A ->D->B->E->C(对于最先到达的作业A先执行)

最短剩余时间优先算法SRTF(Shortest Remaining Time First)(抢占式)

如采用最短剩余时间优先算法SRTF(Shortest Remaining Time First),情况将如何变化。

SJF算法优缺点

  • 算法容易实现;
  • 能有效降低作业的平均等待时间
  • 忽视了作业等待时间,对长作业不利,有可能导致长作业(进程)长期不被调度(出现饥饿现象);
  • 要精确知道一个作业的运行时间比较困难的。

3.23优先级调度算法和高响应比优先调度算法

1.优先级调度算法(priority-scheduling algorithm,PSA)

基于作业的紧迫程度,由外部赋予作业相应的优先级,调度算法是根据该优先级进行调度的。这样就可以保证紧迫性作业优先运行。

优先级算法示例

假定在单CPU条件下有下列要执行的作业按顺序先后到达:

① 用执行时间图描述非抢占优先级调度算法执行这些作业的情况(数值越大优先级越高)。

② 算出各作业的周转时间和带权周转时间

2.高响应比优先调度算法(Highest Response Ratio Next,HRRN)

高响应比优先调度算法既考虑了作业的等待时间,又考虑作业运行时间,因此既照顾了短作业,又不致使长作业的等待时间过长,从而改善了处理机调度的性能。

  • 高响应比优先算法的实现:

    由于等待时间与服务时间之和,就是系统对该作业的响应时间,故该优先级又相当于响应比RP。据此,又可表示为:

高响应比优先算法示例

  • 有两个作业A和B,
  • 分别在7:00和8:30到达系统,
  • 它们估计的计算时间分别为0.8小时和0.1小时,
  • 系统在9:00开始以高响应比优先调度算法进行调度,
  • 请问在单道执行时这两道作业被选中的次序以及选中时的响应比。
  • 在9:00开始调度时,两个作业的响应比如下:
    • A作业的响应比=1+120/48=3.5
    • B作业的响应比=1+30/6=6
  • 因此,先选中作业B!
  • 当作业A执行时,其响应比=1+(120+6)/48=3.625

公式深入理解

  • 算法基本思想: HRRN算法在当前作业执行完时,计算剩余作业的响应比,选取响应比最高的作业投入运行。

    • 举例:以下四个作业先后到达系统,按HRRN进行调度,请给出调度顺序:

      • 开始只有作业1,被选中,执行时间20ms;
      • 作业1执行完毕,响应比依次为1+15/15、1+10/5、1+5/10,作业3被 选中,执行时间5ms;
      • 作业3执行完毕,响应比依次为1+20/15、1+10/10,作业2被选中,执行时间15ms;
      • 作业2执行完毕,作业4被选中,执行时间10ms;
      • 平均作业周转时间T = (20+15+35+35)/4 = 26.25
      • 平均带权作业周转时间W = (20/20+15/5+35/15+35/10)/4 = 2.46

HRRN算法优缺点

  • 既考虑作业等待时间,又考虑作业的运行时间 ;
  • 既照顾短作业又不使长作业的等待时间过长 ;
  • 计算响应比需要耗费时间。

处理机调度之作业调度相关推荐

  1. 操作系统学习笔记 第三章:处理机调度与死锁(王道考研)

    本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...

  2. 七、处理机调度概念、层次

    一.知识总览 二.调度的基本概念 1.当有一堆任务要处理,但由于资源有限,这些事情没法同时处理.这就需要确定某种规则(时间短优先.先来先服务等)来决定这些任务的顺序,这就是"调度" ...

  3. 【408预推免复习】操作系统之处理机调度与死锁

    [408&预推免复习]操作系统之处理机调度与死锁 文章目录 1 作业调度和进程调度 2 实时调度和死锁概述 3 预防死锁和避免死锁 1 作业调度和进程调度 什么是处理机调度? 处理机调度:如何 ...

  4. 操作系统(十一)处理机调度概述

    在多道程序系统中,调度是指资源分配,而处理机调度则指的是对处理机这种资源的分配. 处理机调度算法是指根据处理机分配策略所规定的处理分配算法,在不同的操作系统中采用的调度方式和调度算法并不完全相同. 一 ...

  5. 操作系统(十三)处理机调度的概念、层次

    2.2.1 处理机调度的概念.层次 目录 2.2.1 处理机调度的概念.层次 2.2.1.1 处理机调度的概念 2.2.1.2 处理机调度的三个层次 2.2.1.3 小结 2.2.1.1 处理机调度的 ...

  6. 操作系统--处理机调度

    操作系统–处理机调度 三个层次 高级调度(作业调度):按照某种规则,从后备队列中选择合适的作业将其调入内存,并为其创建进程 中级调度(内存调度):按照某种规则,从挂起队列中选择合适的进程将其数据调回内 ...

  7. 操作系统:第二章 进程管理2 - 处理机调度

    本文已收录至 Github(MD-Notes),若博客中有图片打不开,可以来我的 Github 仓库:https://github.com/HanquanHq/MD-Notes,涵盖了互联网大厂面试必 ...

  8. 王道操作系统考研笔记——2.1.6 处理机调度的概念和层次

    文章目录 2.1.6 处理机调度的概念和层次 2.1.6.1 调度的基本概念 2.1.6.2 高级调度 2.1.6.3 中级调度 2.1.6.4 进程的挂起态和七状态模型 2.1.6.5 低级调度 2 ...

  9. 6 操作系统第二章 进程管理 处理机调度

    文章目录 1 处理机调度 1.1 处理机调度概念 1.2 处理机调度三大层次 1.3 处理机三层调度的联系.对比 1.4 处理机调度小结 2 进程调度 2.1 进程调度.进程切换时机 2.2 进程调度 ...

最新文章

  1. 实现DataGridView和DevExpress.GridControl表头全选功能
  2. AUC 评价指标详解,准确率(ACC),敏感性(sensitivity),特异性(specificity)计算 Python3【TensorFlow2入门手册】
  3. Linux 网络编程——网络字节序(三)
  4. 读取excel内容转为二维list
  5. span里面插入文字
  6. mysql5.5启动报错:The server quit without updating PID file ([FAILED]localhost.localdomain.pid)....
  7. aiohttp/flask python后端单元测试,单元测试覆盖率测试
  8. (二十二)用RANSAC算法来求线性回归模型的参数
  9. linux程序设计大作业,LINUX/UNIX Shell编程大作业
  10. 最全的Vim操作快捷键
  11. 普元eos根据查询条件导出excel表格
  12. steam密码查看_如何查看和清除Steam中的先前别名
  13. Sublime Text 一键删除空白行的方法
  14. 3Dvr全景制作VR全景技术讲解-道可云
  15. 自媒体平台搜狗号登陆 搜狗挑战百度、头条有胜算吗?
  16. Android中文字加下划线的方法
  17. The Expressive Power of Neural Networks: A View from the Width
  18. MMO游戏设计一:角色行走
  19. 262-我的大学竞选的事迹材料
  20. 送外卖优先级_如何在恶劣天气让外卖小哥优先送您的订单?

热门文章

  1. 你的破解版CAD出现过多少问题?
  2. 一个比 Nginx 功能更强大的 Web 服务器
  3. 一款非常好用的前端Web组态工具(可视化)-Sovit2D
  4. 北京英克赋能医药新零售:“全渠道”运营如何打破边界?
  5. daysmatter安卓版_倒数日days matter下载-倒数日days 安卓版v1.0.2-PC6安卓网
  6. 魔百和UNT402A-0U_IPTV_S905L原厂线刷固件(当贝桌面,可救砖)
  7. RV蜗轮蜗杆减速机特点及价格决定的因素
  8. CF614A【签到题】
  9. 计算机电源 80plus,电源上的80PLUS指的是什么 电源上的80PLUS介绍【详解】
  10. Python画“一箭穿心”,简单易懂。