王道操作系统考研笔记——2.1.8 调度算法的评价指标
文章目录
- 2.1.8 调度算法的评价指标
- 2.1.8.1 CPU利用率
- 2.1.8.2 系统吞吐量
- 2.1.8.3 周转时间
- 2.1.8.4 等待时间
- 2.1.8.5 响应时间
- 2.1.8.6 小结
2.1.8 调度算法的评价指标
知识总览
需要注意的是,这一部分的知识要学会计算
2.1.8.1 CPU利用率
在早期,由于CPU造价极其昂贵,因此人们会希望让CPU尽可能多地工作。由此,引出了下面的概念。
CPU利用率:指CPU“忙碌”的时间占总时间的比例。,即利用率=忙碌的时间总时间利用率 = \frac{忙碌的时间}{总时间}利用率=总时间忙碌的时间。
在有的题目中,还会要求计算某种设备的利用率。
某计算机只支持单道程序,某个作业刚开始需要在CPU上运行5秒,再用打印机打印输出5秒,之后再执行5秒,才能结束。在此过程中,CPU利用率、打印机利用率分别是多少?
CPU利用率=5+55+5+5=66.66CPU利用率 = \frac{5+5}{5+5+5} = 66.66CPU利用率=5+5+55+5=66.66%
打印机利用率=515=33.33打印机利用率 = \frac{5}{15} = 33.33打印机利用率=155=33.33%
需要注意的是,考研中一般不会出这么简单的题目,而是会考查多道程序并发执行的情况,这时候可以利用
甘特图
来辅助计算。
2.1.8.2 系统吞吐量
对于计算机来说,人们总希望能用尽可能少的时间处理完尽可能多的作业。
系统吞吐量:单位时间内完成作业的数量。
系统吞吐量 = 总共完成了多少道作业总共花了多少时间\frac{总共完成了多少道作业}{总共花了多少时间}总共花了多少时间总共完成了多少道作业
某计算机系统处理完10道作业,共花费了100秒,则系统吞吐量为?
10/100 = 0.1道/秒
2.1.8.3 周转时间
对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。这就是周转时间
。周转时间是指作业被提交给系统开始,到作业完成为止的这段时间间隔。
其包括四个部分:作业在外存后备队列上等待作业调度的时间、进程在就绪队列上等待进程调度的时间、进程在CPU上执行的时间、进程等待I/O操作完成的时间。后三项在一个作业的整个处理过程中,可能发生多次。
作业周转时间 = 作业完成时间-作业提交时间
对于单个用户来说,更关心自己的单个作业的周转情况
平均周转时间 = 各作业周转时间之和作业数\frac{各作业周转时间之和}{作业数}作业数各作业周转时间之和
对于操作系统来说,更关心系统的整体表现,因此更关心所有作业周转时间的平均值。
有的作业运行时间短,有的作业运行时间长,因此在周转时间相同的情况下,运行时间不同的作业,给用户的感觉肯定是不一样的。
这么说的话,用户如何关心自己作业在周转时间的实际表现呢?这时候就引出了带权周转时间
。
带权周转时间 = 作业周转时间作业实际运行的时间=作业完成时间−作业提交时间作业实际运行的时间\frac{作业周转时间}{作业实际运行的时间} = \frac {作业完成时间 - 作业提交时间}{作业实际运行的时间}作业实际运行的时间作业周转时间=作业实际运行的时间作业完成时间−作业提交时间
这样的话,对于周转时间相同的两个作业,实际运行时间长的作业在相同时间内被服务的时间更多,带权周转时间小,用户满意度更高。
而对于实际运行时间相同的两个作业,周转时间短的带权周转时间更小,用户满意度更高。
从公式来看,作业提交后不一定开始处理,所以分子肯定大于分母,也就是说,带权周转时间必然大于1,而且带权周转时间与周转时间都是越小越好。
平均带权周转时间 = 各作业带权周转时间之和作业数\frac{各作业带权周转时间之和}{作业数}作业数各作业带权周转时间之和
相信上面的概念不好理解,我们下面用几个计算例子来理解:
设有三道作业,它们的提交时间和运行时间见下表:
作业号 提交时间/时 运行时间/h 1 10:00 2 2 10:10 1 3 10:25 0.25 注:为计算方便,“时”均为十进制。
试给出在下面两种调度算法下,作业的执行顺序、平均周转时间和带权周转时间。
- 先来先服务(FCFS)调度算法
- 短作业优先(SJF)调度算法
采用FCFS调度算法时,作业的执行顺序是作业1->作业2->作业3,根据题意可得下表:
作业号 提交时刻/时 运行时间/h 开始时刻/时 完成时刻/时 1 10:00 2 10:00 12:00 2 10:10 1 12:00 13:00 3 10:25 0.25 13:00 13:15 那么,由公式可得:
平均周转时间=各作业周转时间之和作业数=[(12−10)+(13−10:10)+(13:25−10:25)]/3=2.55h平均周转时间 =\frac{各作业周转时间之和}{作业数} = [(12-10)+(13-10:10)+(13:25-10:25)]/3 = 2.55h平均周转时间=作业数各作业周转时间之和=[(12−10)+(13−10:10)+(13:25−10:25)]/3=2.55h
平均带权周转时间=各作业带权周转时间之和作业数=[(12−10)/2+(13−10:10)/1+(13.15−10.25)/0.25]/3=5.05h平均带权周转时间 = \frac{各作业带权周转时间之和}{作业数} = [(12-10)/2+(13-10:10)/1+(13.15-10.25)/0.25]/3 = 5.05h平均带权周转时间=作业数各作业带权周转时间之和=[(12−10)/2+(13−10:10)/1+(13.15−10.25)/0.25]/3=5.05h
采用SJF调度算法时,作业的执行顺序是作业1->作业3->作业2,根据题意可得下表:
作业号 提交时刻/时 运行时间/h 开始时刻/时 完成时刻/ 1 10:00 2 10:00 12.00 2 10:10 1 12:15 13:15 3 10:25 0.25 12:00 12:15 那么,由公式可得:
平均周转时间=[(12−10)+(13:15−10:10)+(12:15−10:25)]/3=[2+3.08+1.83]/3=2.3h平均周转时间 = [(12-10)+(13:15-10:10)+(12:15-10:25)]/3=[2+3.08+1.83]/3=2.3h平均周转时间=[(12−10)+(13:15−10:10)+(12:15−10:25)]/3=[2+3.08+1.83]/3=2.3h
带权平均周转时间=(2/2+3.08/1+1.83/0.25)/3=3.8h带权平均周转时间 = (2/2+3.08/1+1.83/0.25)/3=3.8h带权平均周转时间=(2/2+3.08/1+1.83/0.25)/3=3.8h
2.1.8.4 等待时间
计算机的用户希望自己的作业尽可能少的等待处理机。
等待时间,指进程/作业
处于等待处理机状态时间之和
,等待时间越长,用户满意度越低。
对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间。
一个作业作业总共需要被CPU服务多久,被I/O设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。当然,与前面指标类似,也有“平均等待时间”来评价整体性能。
2.1.8.5 响应时间
对于计算机用户来说,会希望自己提交的请求(比如通过键盘输入了一个调试指令)尽早地开始被系统服务、回应。由此引出了响应时间的概念:
响应时间
,指从用户提交请求
到首次产生响应
所用的时间。
2.1.8.6 小结
王道操作系统考研笔记——2.1.8 调度算法的评价指标相关推荐
- 王道操作系统考研笔记——2.1.9 调度算法
2.1.9 调度算法 知识总览 学习各种调度算法的思路 算法思想 算法规则 这种调度算法是用于作业调度还是进程调度? 抢占式或是非抢占式 优点和缺点 是否会导致饥饿(某进程/作业长期得不到服务) 2. ...
- 王道操作系统考研笔记——2.2.0 交互式系统调度算法
2.2.0 交互式系统调度算法 知识总览 2.2.0.1 时间片轮转 知识点 说明 英文名 RR,Round-Robin 算法思想 公平地.轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响 ...
- 王道操作系统考研笔记——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 ...
- 王道操作系统考研笔记——1.1.1 操作系统的概念、功能和目标
如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 文章目录 1.1.1 操作系统的概念.功能和目标 1.1.1.1 操作系统的概念 1.1.1.2 作为系统资源的管理者 1.1.1 ...
- 王道操作系统考研笔记——2.3.4 信号量机制
文章目录 2.3.4 信号量机制 2.3.4.1 引入 2.3.4.2 整型信号量 2.3.4.3 记录型信号量 2.3.4.4 小结 2.3.4 信号量机制 知识总览 在1965年,荷兰学着Dijk ...
- 王道操作系统考研笔记——2.3.3 进程互斥的硬件实现方法
文章目录 2.3.3 进程互斥的硬件实现方法 2.3.3.1 中断屏蔽方法 2.3.3.2 TestAndSet指令 2.3.3.3 Swap指令 2.3.3.4 小结 2.3.3 进程互斥的硬件实现 ...
- 王道操作系统考研笔记——2.1.7 进程调度的时机、切换与过程、方式
文章目录 2.1.7 进程调度的时机.切换与过程.方式 2.1.7.1 进程调度的时机 2.1.7.2 进程调度的方式 2.1.7.3 进程的切换和过程 2.1.7.4 小结 2.1.7 进程调度的时 ...
- 王道操作系统考研笔记——2.1.5 线程概念与多线程模型
文章目录 2.1.5 线程概念与多线程模型 2.1.5.1 线程的来源 2.1.5.2 线程机制带来的变化 2.1.5.3 线程的属性 2.1.5.4 线程的实现方式 2.1.5.5 多线程模型 2. ...
- 王道操作系统考研笔记——1.1.6 系统调用
如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 文章目录 1.1.6 系统调用 1.1.6.1 系统调用和作用 1.1.6.2 系统调用和库函数 1.1.6.3 系统调用背后的过 ...
最新文章
- #实现互联网聊天_局域网内两台电脑如何实时语音聊天通话
- C++生成简单WAV文件(一)
- 【英语学习】【English L06】U02 Food L5 A vegetarian or meat lover
- linux脚本done报错,很简单的脚本程序,总是报错
- C++ eof()函数相关应用技巧分享
- Gephi教程——外观和布局
- Bad Rabbit
- windows进行udp端口转发
- steam链接社区_如何通过Steam链接上的Xbox One控制器启用振动
- 韦伯-费纳希定律,前景理论及其在数据科学中的应用
- jsp中你必须记住的379
- 怎么把电子书格式转换成word文档
- 利用C++的多态写一个电脑组装的具体实现
- 一文搞懂什么是神经网络Neural Network【详细介绍】
- Android 经典笔记之五:DownloadManager下载管理器介绍
- discuz论坛网站更换域名的方法及步骤
- [NN]前向神经网络的tf.keras详细实现教学
- 阿里云建站套餐怎么样?具体建站流程
- RealView Development Suite 4.0 Professional安装
- Linux 文档编辑 : ex 命令详解