CHS_02.2.2.2+调度的目标 调度算法的评价指标

CHS_02.2.2.2+调度的目标 调度算法的评价指标

  • 知识总览
    • CPU利用率
    • 系统吞吐量
    • 周转时间
    • 等待时间
    • 响应时间
  • 知识回顾

在这个小节中 我们会学习一系列用于评价一个调度算法好坏的一些评价指标

知识总览

在这里插入图片描述

包括cpu利用率 系统吞吐量 周转时间 等待时间和响应时间 那在学习的过程中 要注意理解各个指标为什么这么设计 并且要会计算每一个指标

CPU利用率

在这里插入图片描述

首先来看一下什么是cpu利用率 其实在早期的计算机当中 计算机的造价是很昂贵的 特别是cpu这个部件的造价占了很大一部分 它这这个东西基本上就是用钱堆出来的 一个有很奢侈的东西

并且在现代的这些计算机当中 其实cpu也不便宜 所以因为cpu这么贵 那么人们就会希望让cpu尽可能多的为人们工作 所以就设计了一个叫做cpu利用率的这样一个指标 这个指标就是用来啊 就是用来表示cpu处于忙碌
的时间占总时间的比例
那么这个利用率就可以啊 用忙碌的时间比上总时间就可以算出这个利用率啊 但是有的题目它不仅仅是会让我们算cpu利用率 还会让我们算某种比如说某种o设备的利用率 比如说

如果一个计算机当中他只支持单道程序 然后有个作业刚开始的时候需要在cpu运行五秒 然后打印输出五秒 之后再执行五秒 然后就结束 那么在这个过程中 cpu利用率就是啊就是

先刚开始运行了五秒 然后之后又运行了五秒 总共运行了十秒 cpu处于忙碌的时间是十秒 然后整个过程处理的时间是5+5+5也就是15那么就是66 66%将近是这样子

然后打印机的利用率的话就是打印机处于忙碌的时间 也就是五秒在比上总时间 那么就是33 33%大概是这样

但是在真正的考研题目当中 通常会考察多道程序并发执行的情况 这种情况下大家可以用甘特图来辅助计算 这个地方先不展开 在课后习题会有遇到 并且也会有相应的讲解 那么第二个评价的指标就是叫做系统吞吐量

系统吞吐量

在这里插入图片描述

那么 对于计算机来说 计算机它肯定是希望用尽可能少的时间可以处理完尽可能多的作业 所以就设计了一个叫做系统吞吐量的指标 用来表示单位时间内完成了多少道作业 所以系统吞吐量可以用 总共完成了多少道作业 再除
总共花了多少时间
就可以算的系统吞吐量 比如说有个计算机处理完10-0作业 花了100秒 那么吞吐量就是10÷100那么就是0.1道每秒 也就是平均每秒可以完成0.1道作业 这就是单位时间内完成的作业的数量

那这就是系统吞吐量 第三个指标是周转时间

周转时间

在这里插入图片描述

对于计算机的用户来说 这个用户肯定是很关心自己的作业 从提交到完成总共花多少时间 一般来说 这个时间当然是花的越少越好 所以周转时间就是用来反映这样一个额所花费时间的一个指标就是指
作业被提交给系统开始到作业完成为止 这段时间到底有多长
那么他总共我们包作业 这个周转时间总共包括四个部分 就是作业在后外存的后备队列上等待被作业调度的时间 然后进程在就绪队列上的时间 还要进程处于运行态的时
还有 进程处于阻塞态的时间
后面的这三项就是就绪态 运行态和进程和阻塞态 这三项在整个作业的 这处理过程当中是会发生多次的 整个过程中只会有一次作业调度 这个咱们在之前的小节当中也有介绍过 所以周转一个作业的周转时间 我
我们可以用作业的完成时间减掉作业被提交给系统的时间
这样就可以简单的计算出来

另外呢 对于操作系统来说 它肯定是会更关心整体 就系统的整体表现 所以它会更关心所有的作业周转时间的一个平均值 所以就有另外一个指标 叫做平均周转时间 就是用各个作业的周转时间之和再除以
再除以作业的数量
那么我们再来思考一个这样的问题
在这里插入图片描述

对于各个用户提交的这些作业来说 有的作业他的运行时间是短的 有的作业运行时间是长的 所以说 如果在周转时间相同的情况下 其实运行时间啊更长的那些那些那些作业对于用户来说肯定感受会稍微更好一些 举个很直观的

一个有味道的例子 比如说 我们去排队等厕所 那么你本来只需要使用一分钟 但是你要排队排十分钟

就是总共整个周转过程 你总共花了11分钟 这种这种感受肯定是很糟糕的 本来自己只需要用一会 但是又需要等待那么长的时间 不过对于另外一个人来说 他总共需要使用十分钟 但是他只需要等一分钟 所以另外 这个人他的整个周转时间

其实也是11分钟 只不过这11分钟当中只有一分钟是用来等待的 所以对于第二个人来说 这一分钟的等待其实对他来说感受没有那么糟糕 所以这就是在周转时间相同的情况下作业的这个 这实际运行时间长短不同

所导致的对于用户的感受的这种区别 因此人们又提出了另外一个指标 叫做带权周转时间 就是指作业的周转时间 在比上作业实际运行的时间 因此可以看到 对于周转时间相同的两个作业来说

他的 如果哪个作业的实际运行时间更长 那么这个作业相应的被服务的这个时间所占的比例也就更多 那么这个带权的周转时间就会更小 用户满意度相应的也会更高 而对于实际运行时间相同的两个作业来说

肯定是周转时间短的那个作业 对于用户来说 它的满意度会更高 那么周转时间短的话 相应的带权周转时间也会更小

所以通过这个例子 我们会发现 带权周转时间 它肯定是大于等于一的 因为周转时间包含了作业的实际运行时间 它肯定比实际运行时间要更大

那么带权周转时间和周转时间都都是一样的 他们肯定都是越小 越越小 对于用户的体验来说就会越好

相应的和平均周转时间一样 也会有一个所谓的平均带权周转时间 这个就是系统会比较关心的一个指标 这个就是把各个作业的带权周转时间给加合起来 最后再除以一个作业数 那么这就是周转时间相关的四个指标

等待时间

在这里插入图片描述

接下来 我们再来看下一个指标 叫等待时间 对于计算机的用户来说 肯定是希望自己的作业尽可能少的

等待处理机 那么等待时间就是用来度量这个用户的作业 等待处理机被等待 被服务的这个时间之和到底是多少 等待越长 肯定用户的

满意度就越低 那么我们先来看一下 当一个作业刚开始被提交的时候 它是被放到了外存中的

作业后备队列当中 作业在后备队列当中需要等待被服务 也就是被作业调度 当他被调度以后 这个作业就会放到内存当中 并且建立起相应的进程

当这个进程建立了之后 他会被cpu服务 也会被out设备服务 当然也会有

等待被服务的这样一些时间 一直到最后整个进程结束 然后把作业移出内存

那么 对于进程来说 一个进程的等待时间其实指的就是这个进程被建立起之后开始

啊开开始累计他等待被服务的时间总和是多少 但是需要注意的是

他在等待i o完成的这个期间其实是正在被IO设备服务的 所以这种时间是不能算到等待时间里的

另外呢 对于作业来说 我们不仅要考虑他建立了相应的进程之后的这一系列的等待时间 我们还要加上他在外存的后备队列当中等待被调度的这一段时间 所以作业的等待时间和进程的等待时间计算起来是有一些不同

的这个稍微注意一下 通过之后的课后习题 大家会发现一个现象 就是一般来说一个作业他总共需要被cpu服务多久 被l设备服务多久 这些这个总时间一般来说都是确定不变的

所以调度算法其实只会影响作业或者说进程的一等待时间

当然 和之前的那些指标一样 等待时间也有一个对应的 与他对应的指标叫做平均等待时间 那么平均等待时间就是把所有进程或者作业的等待时间做一个加和 再除以作业的数量就可以了

响应时间

在这里插入图片描述

最后我们再来讲一个叫做响应时间的一个指标 对于计算机用户来说 如果说他提交了一个请求 比如说就是在键盘里输入了一个调试命令 那么他肯定是希望尽早的被系统服务被回应他提出的这个请求 所以响应时间指的就是这个用户从提
出请求到首次产生响应所用的时间 这就是响应时间
好的 那么我们再来回顾一下这个我们介绍了

五种用来评价调度算法的指标

知识回顾

在这里插入图片描述

那么大家要理解各个指标为什么这么设计 并且还会还要会计算各个指标

其中 cpu利用率和系统吞吐量 咱们举了一两个比较简单的例子 后面的其他的这些指标我们会在之后的

对于算法的讲解当中在不断的进行实践 所以这个地方暂时没给出具体的例子

那这个小节当中比较容易忘记的是带权周转时间和平均带权周转时间这两个

指标 那么大家需要结合咱们举的那个比较有味道的例子来理解这个指标为什么这么设计 只要理解了其实记住它就不难了 好的 那么这就是这个小节的全部内容

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/340590.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

20240122在WIN10+GTX1080下使用字幕小工具V1.2的使用总结(whisper)

20240122在WIN10GTX1080下使用字幕小工具V1.2的使用总结 2024/1/22 19:52 结论:这个软件如果是习作,可以打101分,功能都实现了。 如果作为商业软件/共享软件,在易用性等方面,可能就只能有70分了。 【百分制】 可选的改…

makefile 编译动态链接库使用(.so库文件)

makefile 编译动态链接库使用(.so库文件) 动态链接库:不会把代码编译到二进制文件中,而是在运行时才去加载, 好处是程序可以和库文件分离,可以分别发版,然后库文件可以被多处共享 动态链接库 动态&#…

macbookpro怎么恢复出厂设置2024最新恢复方法汇总

可能你的MacBook曾经是高性能的代表,但是现在它正慢慢地逝去了自己的光芒?随着逐年的使用以及文件的添加和程序的安装,你的MacBook可能会开始变得迟缓卡顿,或者失却了以往的光彩。如果你发现你的Mac开始出现这些严重问题&#xff…

牛客周赛 Round 20 解题报告 | 珂学家 | 状压DP/矩阵幂优化 + 前缀和的前缀和

前言 整体评价 这场比赛很特别,是牛客周赛的第20场,后两题难度直线飙升了。 前四题相对简单,E题是道状压题,历来状压题都难,F题压轴难题了,感觉学到了不少。 A. 赝品 先求的最大值 然后统计非最大值的个…

Haar小波下采样模块

论文原址:Haar wavelet downsampling: A simple but effective downsampling module for semantic segmentation - ScienceDirect 原文代码:HWD/HWD.py at main apple1986/HWD (github.com) 介绍 深度卷积神经网络 (DCNN) 通…

CPMS靶场练习

关键:找到文件上传点,分析对方验证的手段 首先查看前端发现没有任何上传的位置,找到网站的后台,通过弱口令admin 123456可以进入 通过查看网站内容发现只有文章列表可以进行文件上传;有两个图片上传点 图片验证很严格…

《WebKit 技术内幕》学习之六(2): CSS解释器和样式布局

2 CSS解释器和规则匹配 在了解了CSS的基本概念之后,下面来理解WebKit如何来解释CSS代码并选择相应的规则。通过介绍WebKit的主要设施帮助理解WebKit的内部工作原理和机制。 2.1 样式的WebKit表示类 在DOM树中,CSS样式可以包含在“style”元素中或者使…

SpringBoot异常处理和单元测试

学习目标 Spring Boot 异常处理Spring Boot 单元测试 1.SpringBoot异常处理 1.1.自定义错误页面 SpringBoot默认的处理异常的机制:SpringBoot 默认的已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot 会向/error 的 url 发送请求。在 springBoot…

移动开发行业——鸿蒙OS NEXT开出繁花

1月18日,华为宣布HarmonyOS NEXT开发者预览版开放申请,根据官方注解,这个版本的鸿蒙系统有个更通俗易懂的名字——“星河版”,也被称为“纯血”鸿蒙。 根据官方解释,之所以取名星河版,寓意鸿蒙OS NEXT就像…

28、web攻防——通用漏洞SQL注入HTTP头XFFCOOKIEPOST请求

文章目录 $_GET:接收get请求,传输少量数据,URL是有长度限制的; $_POST:接收post请求; $_COOKIE:接收cookie,用于身份验证; $_REQUEST:收集通过 GET 、POST和C…

线性代数:矩阵运算(加减、数乘、乘法、幂、除、转置)

目录 加减 数乘 矩阵与矩阵相乘 矩阵的幂 矩阵转置 方阵的行列式 方阵的行列式,证明:|AB| |A| |B| 加减 数乘 矩阵与矩阵相乘 矩阵的幂 矩阵转置 方阵的行列式 方阵的行列式,证明:|AB| |A| |B|

JVM的组成部分(类加载器、运行时数据区、执行引擎、本地库接口)

目录 JVM作用 JVM构成 1.类加载器 类加载子系统: 类加载器的分类: 双亲委派机制: 2.运行时数据区 程序计数器 虚拟机栈 本地方法栈 堆 方法区 3.执行引擎 4.本地库接口 JVM作用 jvm是将字节码文件加载到虚拟机中,…

特征融合篇 | YOLOv8 引入长颈特征融合网络 Giraffe FPN

在本报告中,我们介绍了一种名为DAMO-YOLO的快速而准确的目标检测方法,其性能优于现有的YOLO系列。DAMO-YOLO是在YOLO的基础上通过引入一些新技术而扩展的,这些技术包括神经架构搜索(NAS)、高效的重参数化广义FPN(RepGFPN)、带有AlignedOTA标签分配的轻量级头部以及蒸馏增…

RV1103与FPGA通过MIPI CSI-2实现视频传输,实现网络推流

RV1103与FPGA通过MIPI CSI-2实现视频传输,实现网络推流。 一:图像格式 支持图像格式如下: [0]: NV16 (Y/CbCr 4:2:2) Size: Stepwise 64x64 - 2304x1296 with step 8/8 [1]: NV61 (Y/CrCb 4:2:2) Size: Stepwise 64x64 - 2304x1296 with …

POI及EasyExcel学习笔记

POI及EasyExcel学习笔记 组件、工具 POI-Excel概述 Apache POI 结构: HSSF - 提供读写[Microsoft Excel](https://baike.baidu.com/item/Microsoft Excel)格式档案的功能。XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。HWPF &am…

美团收银餐饮版培训教程

硬件连接方式及介绍: 双屏收银机 收银一体机 双屏收银机连接图 收银一体机连接图 前台打印机 后厨打印机 标签打印机 前台打印机连接图 后厨打印机连接图 其它收银机配件 软件前期设置 1、机器联网 点开桌面的设置,点击更多,点击以太网,最上…

Linux与windows互相传输文件之rzsz命令

文章目录 关于rzsz安装软件使用命令方法一:直接拖拽方法二:直接在终端输入rz 关于rzsz 这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件 安装完毕之后可以通过拖拽的方式将文件上传过去 首先看一下我们的机器可以使用网络吗&#xff…

QT upd测试

QT upd测试 本次测试将服务器和客户端写在了一个工程下&#xff0c;代码如下 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QUdpSocket> #include<QTimer>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE…

C++的流库

1.流的概念 “流”&#xff0c;即“流动”的意思&#xff0c;是物质从一处向另一处流动的过程。在计算机这边通常是指对一种有序连续且具有方向性的数据的抽象描述。 C 中的流一般指两个过程的统一&#xff1a; 信息从外部输入设备&#xff08;键盘&#xff09;向计算机内部…

网页设计-用户体验

Use Cases (用例) 用例是用户如何在网站上执行任务的书面描述&#xff0c;从用户的角度描述了系统响应请求时的行为。每个用例都是用户实现目标的一系列简单的步骤。简言之&#xff0c;用例是一种用于描述系统如何满足用户需求的方法。 用例的好处 1. 明确需求&#xff1a; Use…