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

news2024/9/24 15:19:55

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等技术内容,立即学习

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南

SQL注入—sqli-labs靶场 零、前言一、环境搭建①、VirtualBox②、Kali Linux③、Docker 二、闯关开始1、Less-1——union2、Less-2—数字型—union3、Less-3—)—union4、Less-4—")—union5、Less-5——布尔盲注6、Less-6—"—布尔盲注7、Less-7—))7.1—布尔盲注7.…

Redis 面试题 | 05.精选Redis高频面试题

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

小白水平理解面试经典题目LeetCode 594 最大和谐字符串

594 最大和谐字符串 这道题属于字符串类型题目,解决的办法还是有很多的,暴力算法,二分法,双指针等等。 题目描述 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。 现在,给你一个整数数组 nums …

线性代数的学习和整理23:用EXCEL和python 计算向量/矩阵的:内积/点积,外积/叉积

目录 1 乘法 1.1 标量乘法(中小学乘法) 1.1.1 乘法的定义 1.1.2 乘法符合的规律 1.2 向量乘法 1.2.1 向量:有方向和大小的对象 1.2.2 向量的标量乘法 1.2.3 常见的向量乘法及结果 1.2.4 向量的其他乘法及结果 1.2.5 向量的模长(长度&#xff0…

SCCB接口

文章目录 概述引脚传输时序起始/结束信号三线模式两线模式 传输周期3阶段写传输周期2阶段写传输周期2阶段读传输周期阶段一 ID Address阶段二 子地址/读数据阶段三 写数据 SCCB与IIC区别未完待续(还有代码)... 概述 SCCB(Serial Camera Control Bus&…

【江科大】STM32:定时器中断

文章目录 TIM(Timer)定时器根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型基本定时器通用定数器 高级定时器 时钟(时钟电路)的作用是什么:设置定时器触发中断普通方法:预分频器时序…

项目工程下载与XML配置文件下载:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(十)

XPCIE1032H功能简介 XPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡,可选6-64轴运动控制,支持多路高速数字输入输出,可轻松实现多轴同步控制和高速数据传输。 XPCIE1032H集成了强大的运动控制功能,结合MotionRT7运动…

如何在Linux上部署Nexus私服

如何在Linux上部署Nexus私服 Nexus 是一个强大的仓库管理解决方案,由Sonatype公司开发。它主要用于软件开发中各种依赖包和构件的存储、管理和分发。 1、为什么要部署nexus? 统一管理依赖:在软件开发过程中,项目通常会依赖大量的…

【数据结构与算法】3.顺序表

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢迎各位大佬指点&…

Unity 建造者模式(实例详解)

文章目录 说明实例1:构建游戏角色实例2:构建游戏场景实例3:构建UI界面 说明 在Unity中,建造者模式(Builder Pattern)是一种创建型设计模式,它通过分离对象构建过程的复杂性,允许您以…

钡铼新品 BL120 Modbus工业协议转换网关

随着物联网技术的迅猛发展,人们深刻认识到在智能化生产和生活中,实时、可靠、安全的数据传输至关重要。在此背景下,高性能的物联网数据传输解决方案——协议转换网关应运而生,广泛应用于工业自动化和数字化工厂应用环境中。 钡铼…

【吃灰开发板复活】DIY全志V3s随身终端屏幕适配,LVGL以及各种外设驱动移植教程

在上周的文章中介绍了一款因作者想要学习Linux而动手DIY的终端设备V3S-PI, 《梦回2004!我用全志V3s做了个成本100元,功能媲美MP4的随身终端》:梦回2004!我用全志V3s做了个成本100元,功能媲美MP4的随身终端…

为什么电脑降价了?

周末,非常意外地用不到3000元买到了一款2023年度发布的华为笔记本I5,16G,500G,基本是主流配置,我非常意外,看了又看,不是什么Hwawii,或者Huuawe。然后也不是二手。为什么呢?因为在ALU和FPU之外&…

JAVA:OFD Reader Writer 开源库技术解析

1、简述 OFD Reader & Writer 是一个由开源社区推动的 OFD 文件处理库,它旨在提供对 OFD 格式文件的读取和写入功能。这一开源项目为开发者提供了强大而灵活的工具,使得在应用程序中处理和生成 OFD 文件变得更加容易和高效 开源地址:htt…

Flutter底部导航栏插件persistent_bottom_nav_bar的使用

flutter 框架中的 persistent_bottom_nav_bar 插件可以让我们快速实现页面底部导航栏(也就是 bottomNavigationBar )的布局且能拥有多样的切换效果(包括但不限于:动画切换效果、中间凸起按钮效果等) 插件网址&#xf…

网络安全全栈培训笔记(55-服务攻防-数据库安全RedisHadoopMysqla未授权访问RCE)

第54天 服务攻防-数据库安全&Redis&Hadoop&Mysqla&未授权访问&RCE 知识点: 1、服务攻防数据库类型安全 2、Redis&Hadoop&Mysql安全 3、Mysql-CVE-2012-2122漏洞 4、Hadoop-配置不当未授权三重奏&RCE漏洞 3、Redis-配置不当未授权…

linux更新内核

内核介绍 官网链接:https://kernel.org 内核下载库: https://mirrors.edge.kernel.org/pub/linux/kernel/ 更新软件源 rootcary:~# apt-get update rootcary:~# sudo apt-get install libncurses5-dev build-essential kernel-package flex bison libelf-dev libssl-dev 下…

通过curl访问k8s集群获取证书或token的方式

K8S安全控制框架主要由下面3个阶段进行控制,每一个阶段都支持插件方式,通过API Server配置来启用插件。 1. Authentication(认证) 2. Authorization(授权) 3. Admission Control(准入控制&#…

数字频率合成器dds的量化性能分析matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 DDS的基本原理 4.2 DDS的量化性能分析 5.完整工程文件 1.课题概述 数字频率合成器dds的量化性能分析matlab仿真,分别定义累加器位宽,截位位宽,模拟DAC位宽等&…

excel学习1

直接ctrl cctrl v会报错位移选择粘贴时用123那个数字粘贴而不是ctrl V 只要结果不要公式 上面复制的为数值这里是复制的公式他们两个不一样 这个方法太麻烦了直接用格式刷,选择一个区域一个单元格,不要选择多个一刷就出来了 第一个计算后向下拖就行了&…