2.8、调度算法的评价指标

news2024/9/22 3:47:33

image-20230128220142618

1、CPU 利用率

image-20230128220233811

由于早期的 CPU 造价极其昂贵,

  • 因此人们会 希望让 CPU 尽可能多地工作 \color{red}希望让 \texttt{CPU} 尽可能多地工作 希望让CPU尽可能多地工作

CPU 利用率 \color{red}\texttt{CPU}利用率 CPU利用率:指 CPU “忙碌” 的时间占总时间的比例。

利用率 \color{red}{利用率} 利用率 = 忙碌的时间 总时间 =\large\frac{忙碌的时间}{总时间} =总时间忙碌的时间

  • 有的题目还会要求计算某种设备的利用率

Eg:某计算机只支持单道程序,某个作业刚开始需要在 CPU 上运行 5 5 5 秒,再用打印机打印输出 5 5 5 秒,之后再执行 5 5 5 秒,才能结束。在此过程中,CPU 利用率、打印机利用率分别是多少?

  • CPU 利用率 = 5 + 5 5 + 5 + 5 = 66.66 % \frac{5+5}{5+5+5}=66.66\% 5+5+55+5=66.66%

  • 打印机利用率 = 5 5 + 5 + 5 = 33.33 % \frac{5}{5+5+5}=33.33\% 5+5+55=33.33%

通常会考察多道程序并发执行的情况,可以用 “甘特图” 来辅助计算


2、系统吞吐量

对于计算机来说,希望能用尽可能少的时间处理完尽可能多的作业

系统吞吐量 \color{red}系统吞吐量 系统吞吐量

  • 单位时间内完成作业的数量

系统吞吐量 = 总共完成了多少道作业 总共花了多少时间 \textcolor{red}{系统吞吐量}=\large\frac{总共完成了多少道作业}{总共花了多少时间} 系统吞吐量=总共花了多少时间总共完成了多少道作业

Eg:某计算机系统处理完 10 10 10 道作业,共花费 100 100 100 秒,则系统吞吐量为?

  • 10 100 = 0.1 道 / 秒 \frac{10}{100}= 0.1道/秒 10010=0.1/

3、周转时间(4个指标)

对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。

周转时间 \color{red}周转时间 周转时间

  • 是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。

它包括四个部分:

  • 作业在外存后备队列上等待作业调度(高级调度)的时间、
  • 进程在就绪队列上等待进程调度(低级调度)的时间(就绪态)、
  • 进程在 CPU 上执行的时间(运行态)、
  • 进程等待 I/0 操作完成的时间(阻塞态)。

后三项在一个作业的整个处理过程中,可能发生多次。


(作业) 周转时间 \color{red}周转时间 周转时间 = 作业完成时间 − 作业提交时间 =作业完成时间-作业提交时间 =作业完成时间作业提交时间

  • 上述对于用户来说,更关心自己的单个作业的周转时间

平均周转时间 \color{red}平均周转时间 平均周转时间 = 各作业周转时间之和 作业数 =\large\frac{各作业周转时间之和}{作业数} =作业数各作业周转时间之和

  • 对于操作系统来说,更关心系统的整体表现,因此更关心所有作业周转时间的平均值

思考:有的作业运行时间短,有的作业运行时间长,因此在周转时间相同的情况下,运行时间不同的作业,给用户的感觉肯定是不一样的

  • 例如:排队上厕所,另外个人只需等待一分钟,上十分钟,而你却等待十分钟,上一分钟

带权周转时间 \color{red}带权周转时间 带权周转时间 = 作业周转时间 作业实际运行的时间 = 作业完成时间 − 作业提交时间 作业实际运行的时间 =\large\frac{作业周转时间}{作业实际运行的时间} = \frac{作业完成时间-作业提交时间}{作业实际运行的时间} =作业实际运行的时间作业周转时间=作业实际运行的时间作业完成时间作业提交时间

  • 对于周转时间相同的两个作业,实际运行时间长的作业在相同时间内被服务的时间更多,带权周转时间更小,用户满意度更高。

  • 对于实际运行时间相同的两个作业,周转时间短的带权周转时间更小,用户满意度更高。

带权周转时间必然 ≥ 1 ≥1 1

带权周转时间与周转时间都是越小越好


平均带权周转时间 \color{red}平均带权周转时间 平均带权周转时间 = 各作业带权周转时间之和 作业数 =\large\frac{各作业带权周转时间之和}{作业数} =作业数各作业带权周转时间之和

4、等待时间

计算机的用户希望自己的作业尽可能少的等待处理机

等待时间 \color{red}等待时间 等待时间

  • 指进程/作业处于等待处理机状态时间之和,等待时间越长,用户满意度越低。

image-20230128223121470

对于 进程 \color{red}进程 进程来说,

  • 等待时间就是指进程建立后 等待被服务的时间之和 \color{red}等待被服务的时间之和 等待被服务的时间之和
  • 在等待 I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。

对于 作业 \color{red}作业 作业来说,

  • 不仅要考虑 建立进程后的等待时间 \color{red}建立进程后的等待时间 建立进程后的等待时间
  • 还要加上作业在外存后备队列中等待的时间 \color{red}还要加上作业在外存后备队列中等待的时间 还要加上作业在外存后备队列中等待的时间

一个作业总共需要被 CPU 服务多久,被 l/O 设备服务多久一般是确定不变的,

  • 因此调度算法其实只会影响作业/进程的等待时间。

当然,与前面指标类似,也有 “ 平均等待时间 \color{red}平均等待时间 平均等待时间” 来评价整体性能。

5、响应时间

对于计算机用户来说,会希望自己的提交的请求(比如通过键盘输入了一个调试命令)尽早地开始被系统服务、回应。

响应时间 \color{red}响应时间 响应时间

  • 指从用户 提交请求 \color{red}提交请求 提交请求 首次产生响应 \color{red}首次产生响应 首次产生响应所用的时间。

6、整体框架

image-20230128224807642

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

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

相关文章

动态规划之01背包问题和完全背包问题

01背包的问题描述:(内容参考代码随想录)有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。问题示例&#…

Echarts 设置折线图拐点的颜色,边框等样式,hover时改变颜色

第014个点击查看专栏目录上一篇文章我们讲到了如何设置拐点大小,图形类型,旋转角度,缩放同比,位置偏移等,这篇文章介绍如何设置拐点的颜色、边框大小颜色等样式。hover轴线时候,拐点的填充颜色改变文章目录示例效果示例…

Zookeeper安装部署

文章目录Zookeeper安装部署Zookeeper安装部署 将Zookeeper安装包解压缩, [rootlocalhost opt]# ll 总用量 14032 -rw-r--r--. 1 root root 12392394 10月 13 11:44 apache-zookeeper-3.6.0-bin.tar.gz drwxrwxr-x. 6 root root 4096 10月 18 01:44 redis-5.0.4 …

什么时候用MQ、MQ 的作用、延迟消息

本文主要参考沈剑大佬的消息队列系列的四篇博文和博文评论,以及刘海丰老师的《架构设计面试精讲》,文末是完整参考。 1、什么时候用MQ、MQ 的作用 MQ是一个互联网架构中常见的解耦利器。 1.1 MQ 的组成 Producer:消息的生产者; Br…

浅谈函数式编程和命令式编程的区别

一、函数式编程 ------------------------------------------------------------------------------------------------------------------------------------------ 函数式编程用一个英文单词来说的话就是“What?” 它关注结果 定义 把某个功能的具体实现,封装…

一文带你搞懂,Python语言运算符

Python语言支持很多种运算符,我们先用一个表格为大家列出这些运算符,然后选择一些马上就会用到的运算符为大家进行讲解。 说明:上面这个表格实际上是按照运算符的优先级从上到下列出了各种运算符。所谓优先级就是在一个运算的表达式中&#x…

【C语言必经之路——第12节】结构体初阶

一、结构体的声明结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。结构体的声明struct tag{member-list;}variable-list;struct:是结构体定义必不可少的关键字tag:结构名member-list:成员列表(标量、…

2.16、生产者-消费者问题

系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用。(注:这里的“产品”理解为某种数据) 生产者、消费者共享一个初始为空、大小为 n 的缓冲区。 只有…

Linux删除软链接

不防大家试试 unlink 命令 首先我们先来创建一个文件 #mkdir test_chk #touch test_chk/test.txt #vim test_chk/test.txt (这一步随便在这个test.txt里写点东东即可) 下面我们来创建test_chk目录 的软链接 #ln-s test_chk test_chk_ln 软链接创建好了,我们来…

应用安全系列之三十八:注入问题的成因以及预防原理

自从有了OWASP TOP的排名依赖,注入问题就一直排名前三,这就说明了注入问题对系统的影响是十分严重的,而且,注入问题一般比较容易被利用。注入问题产生的根本原因就是程序在接受到请求中的参数时,没有经过严格的验证和正…

前端工程师leetcode算法面试必备-二分搜索算法(下)索算法(下)

一、287. 寻找重复数 给定一个包含 n 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 1、HashMap 在没有其它附加条件的情况下&…

如何处理“WLAN没有有效的IP配置”这一问题?

🚀write in front🚀 📜所属专栏:暂无 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对我最大的…

svg.js使用教程

在日常web开发过程中,我们会需要显示一些图形化的元素,使用divcss、ps图片是常见的实现方式。 但使用svg来绘制可能更加合适,SVG是可缩放矢量图形,有一些预定义的形状元素,可被开发者使用和操作: 矩形(rec…

图解LeetCode——剑指 Offer 50. 第一个只出现一次的字符

一、题目 在字符串 s 中找出第一个只出现一次的字符。如果没有&#xff0c;返回一个单空格。 s 只包含小写字母。 二、示例 2.1> 示例 1: 【输入】s "abaccdeff" 【输出】b 2.2> 示例 2: 【输入】s "" 【输出】 限制&#xff1a; 0 < s 的…

Swift(5)

目录 集合类型 数组 ​编辑 合集 合集操作 字典 Where 集合类型 Swift提供了三种主要的集合类型&#xff1a;组合&#xff0c;合集&#xff0c;字典。 数组是有序的值的集合。 合集是唯一值的无序集合。 字典是无序的键值对集合。 数组 Swift数组的类型的完整写法是…

总结如何设计一款营销低代码可视化海报平台

背景 我所在的部门负责的是活动业务&#xff0c;每天都有很多的营销活动&#xff0c;随之而来的就是大量的H5活动页面。而这些H5活动已经沉淀出了比较固定的玩法交互&#xff0c;我们开发大多数的工作也只是在复制粘贴这种大量的重复工作。 在基于此背景下我开始了低代码平台…

【手写 Vuex 源码】第十篇 - Vuex 命名空间的实现

一&#xff0c;前言 上一篇&#xff0c;主要介绍了 Vuex 响应式数据和缓存的实现&#xff0c;主要涉及以下几个点&#xff1a; Vuex 的响应式实现原理&#xff1b;响应式核心方法 resetStoreVM&#xff1b;commit 和 dispatch 的处理&#xff1b; 本篇&#xff0c;继续介绍 …

jdk-concurrentHashMap(1.8)源码学习

上文&#xff1a;jdk-HashMap(1.8)源码学习concurrentHashMap介绍concurrentHashMap是一个高性能、线程安全的HashMap&#xff0c;底层数据结构主要还是以数组链表红黑树实现与HashMap的结构是一致的。concurrentHashMap1.7和1.8的区别&#xff1f;对比名称1.71.8备注线程安全是…

PhysioNet2017分类的代码实现

PhysioNet2017数据集介绍可参考文章&#xff1a;https://wendy.blog.csdn.net/article/details/128686196。本文主要介绍利用PhysioNet2017数据集对其进行分类的代码实现。 目录一、数据集预处理二、训练2.1 导入数据集并进行数据裁剪2.2 划分训练集、验证集和测试集2.3 设置训…

C语言(C语言结构基础使用)

目录 一.结构 1.结构声明 2.初始化结构 3.访问结构成员 4.结构的初始化器 5.定义无结构标记 6.结构数组 7.嵌套结构 8.复合字面量和结构&#xff08;C99&#xff09; 9.伸缩性数组成员 10.伸缩性数组得特殊处理请求 11.匿名结构&#xff08;C11&#xff09; 12.使用结构数组得函…