[2.2.3]进程管理——调度算法的评价指标

news2024/11/15 15:55:16

文章目录

  • 第二章 进程管理
    • 调度算法的评价指标
      • (一)CPU利用率
      • (二)系统吞吐量
      • (三)周转时间
      • (四)等待时间
      • (五)响应时间
    • 小结

第二章 进程管理

调度算法的评价指标

  • CPU利用率
  • 系统吞吐量
  • 周转时间
    • 周转时间、平均周转时间
    • 带权周转时间、平均带权周转时间
  • 等待时间
  • 响应时间

  注意理解各个指标为什么这样设计;并且会计算。

(一)CPU利用率

  早期的计算机,其造价是非常昂贵的,特别是CPU占了造价的很大一部分。现代的计算机CPU其实也不便宜。

  因此人们会希望让CPU尽可能多地工作

  CPU利用率:指CPU“忙碌”的时间占总时间的比例。
利用率 = 忙碌的时间 总时间 利用率 = \frac{忙碌的时间}{总时间} 利用率=总时间忙碌的时间
  有些题还会让计算某种设备的利用率(不一定是CPU利用率)。

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

  答:CPU利用率 = (5+5) / (5+5+5) = 66.66%;打印机利用率 = 5 / 15 = 33.33%。

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

(二)系统吞吐量

  对于计算机来说,它肯定希望用尽可能少的时间处理完尽可能多的作业。就设计了一个系统吞吐量的指标。

  系统吞吐量:单位时间内完成作业的数量。
系统吞吐量 = 总共完成了多少道作业 总共花了多少时间 系统吞吐量 = \frac{总共完成了多少道作业}{总共花了多少时间} 系统吞吐量=总共花了多少时间总共完成了多少道作业
  例如:某计算机系统处理完10道作业,共花费100秒,则系统吞吐量为?

  答:10 / 100 = 0.1 道/秒

(三)周转时间

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

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

  它包括四个部分:

  作业在外存后备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等待进程调度(低级调度)的时间(即处于就绪态)、进程在CPU上执行的时间(即处于运行态)、进程等待I/O操作完成的时间(即阻塞态)。后三项在一个作业的整个处理过程中,可能发生多次。
(作业)周转时间 = 作业完成时间 − 作业提交时间 (作业)周转时间 = 作业完成时间 - 作业提交时间 (作业)周转时间=作业完成时间作业提交时间

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

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

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

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

  周转时间相同,若运行时间越长,则用户体验越好。例如A:等待10分钟,运行1分钟,周转时间为11分钟;B:等待1分钟,运行10分钟,周转时间为11分钟。

  因此,人们又提出另外一个指标:带权周转时间。
带权周转时间 = 作业周转时间 作业实际运行的时间 = 作业完成时间 − 作业提交时间 作业实际运行的时间 带权周转时间 = \frac{作业周转时间}{作业实际运行的时间} = \frac{作业完成时间-作业提交时间}{作业实际运行的时间} 带权周转时间=作业实际运行的时间作业周转时间=作业实际运行的时间作业完成时间作业提交时间

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

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

  容易发现:

  带权周转时间 必然 ≥ 1

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

  相应地,和平均周转时间一样,也会有一个平均带权周转时间。这个就是操作系统比较关心的一个指标。
平均带权周转时间 = 各作业带权周转时间之和 作业数 平均带权周转时间 = \frac{各作业带权周转时间之和}{作业数} 平均带权周转时间=作业数各作业带权周转时间之和

(四)等待时间

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

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

image-20230309204410829

  对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。

  对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间。

  一个作业总共需要被CPU服务多久、被I/O设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。当然,同样地,也有“平均等待时间”来评价整体性能。

(五)响应时间

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

  响应时间,指从用户提交请求首次产生响应所用的时间。

小结

image-20230309210113770

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

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

相关文章

861. 翻转矩阵后的得分

861. 翻转矩阵后的得分https://leetcode.cn/problems/score-after-flipping-matrix/ 难度中等236 给你一个大小为 m x n 的二元矩阵 grid ,矩阵中每个元素的值为 0 或 1 。 一次 移动 是指选择任一行或列,并转换该行或列中的每一个值:将所…

【Flutter】开发环境配置:FlutterSDK、Android SDK、iOS SDK

文章目录 一、前言二、Dart和Flutter的关系三、本地开发环境配置1.FlutterSDK2.配置镜像站3.安装安卓工具链4.安装XCode5.Dart 配置四、配置完成五、总结一、前言 在前面的课程中,我们学习了Dart语言的基本用法,并在DartPad线上环境对代码执行。 接下来,我们学习如何在本地…

如何为Keil安装version 5版本的ARM Compiler(Use default compliler version 5)

目录1. 为什么要安装version 5编译器2. 从原来MDK5.37以下版本(MDK536)的软件中提取AC5的编译器3. 解压完成后的文件如下图,打开ARM文件夹4. 将AMRCC文件夹拷贝到你的keil安装目录的AMR文件下5. 打开Keil,点击Project→Manage→Project Items&#xff0c…

爬虫(一)基础介绍

文章目录1. 爬虫简介1.1 robots协议1.2 反爬手段1.3 请求组成1.4 响应组成1.5 POST 请求与 GET 请求2. requests库2.1 GET请求2.2 POST请求2.3 代理1. 爬虫简介 网络爬虫也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。它是一种按照一定的…

哪种类型蓝牙耳机佩戴最舒服?舒适度最好的蓝牙耳机推荐

如果您想在外出时听自己喜欢的音乐,您需要佩戴耳机,当前的耳机都足够小,可以将它们放在口袋里,即使它们在充电盒中也是如此,舒适度一直都是人们所追求的,舒适之余,佩戴同样稳固更加令人安心&…

ASEMI高压MOS管7N65参数,7N65图片,7N65大小

编辑-Z ASEMI高压MOS管7N65参数: 型号:7N65 漏极-源极电压(VDS):650V 栅源电压(VGS):30V 漏极电流(ID):7A 功耗(PD)…

中文数字对照表--课后程序(Python程序开发案例教程-黑马程序员编著-第4章-课后作业)

实例5:中文数字对照表 阿拉伯数字因其具有简单易写、方便使用的特点成为了最流行的数字书写方式,但在使用阿拉伯数字计数时,可以对某些数字不漏痕迹的修改成其它数字,例如,将数字“1”修改为数字“7”,将数…

Excel·VBA矩阵、求逆矩阵、解线性方程组

初等变换法求逆矩阵 vba内置函数MInverse可以计算矩阵的逆矩阵,《Office VBA 参考-WorksheetFunction.MInverse 方法 (Excel)》 初等变换法代码思路 对于一个3x3矩阵(下图3x3红色部分)右侧扩充单位矩阵(下图3x3黑色部分&#xf…

海格里斯HEGERLS料箱穿梭车生产厂家|配有高速货物提升机滚筒输送线设备的料箱四向穿梭车立体库

随着物流自动化需求的增中和自动化料箱数量的增加,现在市场对料箱四向穿梭车系统的需求正在逐渐增加,这也使得四向穿梭车在储物效率和储物空间利用率方面的优势的更加突出,其应用场景也在不断扩大。料箱四向穿梭车仓储方案已成为一种高效、智…

svg的深度利用绕过waf

目录 DOM树的构建 源码 img失败的原因 解法一 --- svg成功的原因 触发流程 实验 解法二 --- details标签 事件触发流程 实验验证 总结 首先在解这道题的开始连了解下什么是DOM树,以及DOM树的构建 DOM树的构建 我们知道JS是通过DOM接口来操作文档的&…

针对博客系统的自动化测试

针对博客系统进行web自动化测试 文章目录针对博客系统进行web自动化测试引入依赖创建出合适的目录结构AutoTestUtilsBlogLoginTestBlogListTestBLogEditTestBlogDetailTest使用套件执行关于博客系统的自动化测试的源代码已经上传至gitee链接 引入依赖 首先在pom.xml上导入依赖…

【错误记录】映射文件发生改变

遇到映射文件发生改变在项目中有的地方是使用反射机制进行的操作,可能对于类进行了某些更改,科室映射文件没有更改,采用匿名就会出现这样的问题,解决办法要么更改映射文件,要不不要使用匿名调用。JavaDocs路径报红Clas…

ruoyi-vue-plus学习2(异步日志)(@EventListener)(@Async)(线程池池相关)

ruoyi-vue-plus的日志打印是通过监听器实现的,和原版若依稍稍不同 找到登录时记录日志的方法 该方法如下 这里的参数LogininforEvent为消息类,注意,貌似高版本的spring定义消息类不需要继承ApplicationEvent类也行。直接使用普通实体类就行…

详解-序列化和反序列化

文章目录问题使用场景序列化协议TCP/IP 4 层模型的哪一层?序列化协议问题 什么是序列化和反序列化? Java对象保存在文件中/网络传输Java对象,这些场景需要用到序列化。 序列化:将Java对象或数据结构转化成二进制流反序列化:将二…

Git简单使用

Git简单使用 git初始化操作 pwd&#xff1a;显示当前目录 git init&#xff1a;把这个目录变成git可以管理的仓库 git clone&#xff1a; 从现有 Git 仓库中拷贝项目&#xff08;类似 svn checkout&#xff09;。 克隆仓库的命令格式为&#xff1a; git clone <repo&g…

【Java基础 下】 031 -- 反射 动态代理

一、什么是反射&#xff1f; 换句话说就是&#xff08;从类里拿出来&#xff09; 可以获取到&#xff1a;&#xff08;利用反射&#xff0c;我们可以获取到类中所有的东西&#xff09; 获取是先从class字节码文件中获取的 二、获取class对象的三种方式 三种方式也对应了三种阶段…

Unity之Addressable使用注意事项

基本设置 Profile文件中配置资源构建路径和资源首次加载路径&#xff0c;资源如何设置了缓存&#xff0c;在首次加载之后会将再用缓存在缓存目录&#xff0c;后面将直接从缓存目录中读取&#xff0c;RemoteLoadPath一般要设置成可以动态修改类型的参数&#xff0c;方便项目发包…

[oeasy]python0104_指示灯_显示_LED_辉光管_霓虹灯

编码进化 回忆上次内容 x86、arm、riscv等基础架构 都是二进制的包括各种数据、指令 但是我们接触到的东西 都是屏幕显示出来的字符 计算机 显示出来的 一个个具体的字型 计算机中用来展示的字型 究竟是 如何进化的 呢&#xff1f;&#x1f914;&#x1f914; 模拟电路时…

在线客服机器人是什么?有什么用处?

在线客服机器人是客服自动智能问答 真人模拟应答以及意向分类 高效低成本可以同时进行一对多服务&#xff0c;而在一些情况下&#xff0c;在线客服机器人还可以进行客户接待&#xff0c;完全代替人工客服&#xff0c;提高整个客服中心的接待量。在这里我们拿ttkefu在线机器人为…

Spring学习——Maven进阶

分模块开发与设计 创建模块 书写模块代码 通过maven指令安装模块到本地仓库(install指令) 在pom.xml中导入坐标执行maven的install命令将模块安装到本地maven仓库 团队内部开发可以发布模块功能到团队内部可共享的仓库中&#xff08;私服) 依赖管理 依赖指当前项目运行所需…