2.2.2操作系统(CPU利用率 系统吞吐量 周转时间 调度算法 FCFS SJF HRRN)

简介: 调度算法的评价指标​1.CPU利用率2.系统吞吐量3.周转时间4.等待时间 5.响应时间调度算法1.先来先服务(FCFS, First Come First Serve)2.短作业优先(SJF, Shortest Job First)非抢占式 抢占式​注意几个小细节:对FCFS和SJF两种算法的思考…3.高响应比优先(HRRN, Highest Response Ratio Next)知识回顾与重要考点

调度算法的评价指标


1.CPU利用率


由于早期的 CPU 造价极其昂贵,因此人们会 希望让 CPU 尽可能多地工作


CPU 利用率 :指 CPU “忙碌”的时间占总时间的比例。




Eg :某计算机只支持单道程序,某个作业刚开始需要在 CPU 上运行 5 秒,

再用打印机打印输出 5 秒,之后再执行 5 秒,才能结束。在此过程中,

CPU 利用率、打印机利用率分别是多少?



2.系统吞吐量


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


系统吞吐量 :单位时间内完成作业的数量




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


10/100 = 0.1 道 / 秒


3.周转时间


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


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


它包括四个部分:作业在外存后备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等


待进程调度(低级调度)的时间、进程在 CPU 上执行的时间、进程等待 I/O 操作完成的时间。后三项在一个作业的整个处理过程中,可能发生多次。









4.等待时间


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


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




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


程也是在被服务的,所以不计入等待时间。


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


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


5.响应时间


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





调度算法




Tips :各种调度算法的学习思路


1. 算法思想

2. 算法规则

3. 这种调度算法是用于 作业调度 还是 进程调度?

4. 抢占式?非抢占式?

5. 优点和缺点

6. 是否会导致 饥饿

1.先来先服务(FCFS, First Come First Serve)





例题:各进程到达就绪队列的时间、需要的运行时间如下表所示。使用 先来先服务 调度算法,计算各进程的等待时间、平均等待时间、周转时间、平均周转时间、带权周转时间、平均带权周转时间。



先来先服务调度算法:按照到达的先后顺序调度,事实上就

是等待时间越久的越优先得到服务。


因此, 调度顺序 为:




2.短作业优先(SJF, Shortest Job First)




非抢占式




抢占式





注意几个小细节:


1. 如果题目中 未特别说明 ,所提到的“短作业 / 进程优先算法” 默认 是 非抢占式 的


2. 很多书上都会说“ SJF 调度算法的平均等待时间、平均周转时间最少”


严格来说,这个表述是错误的,不严谨的。之前的例子表明,最短剩余时间优先算法得到的平均等待时间、平均周转时间还要更少


应该加上一个条件“在 所有进程同时可运行 时,采用 SJF 调度算法的平均等待时间、平均周转时间最少”;


或者说“在 所有进程都几乎同时到达 时,采用 SJF 调度算法的平均等待时间、平均周转时间最少”;


如果不加上述前提条件,则应该说“ 抢占式的 短作业 / 进程优先调度算法( 最短剩余时间优先 , SRNT 算法)的平均等待时间、平均周转时间最少”


3. 虽然严格来说, SJF 的平均等待时间、平均周转时间并不一定最少,但相比于其他算法(如 FCFS ), SJF依然可以获得较少的平均等待时间、平均周转时间


4. 如果选择题中遇到“ SJF 算法的平均等待时间、平均周转时间最少”的选项,那最好判断其他选项


是不是有很明显的错误,如果没有更合适的选项,那也应该选择该选项

对FCFS和SJF两种算法的思考…


3.高响应比优先(HRRN, Highest Response Ratio Next)




知识回顾与重要考点





相关文章
|
7月前
|
算法 搜索推荐 JavaScript
基于python智能推荐算法的全屋定制系统
本研究聚焦基于智能推荐算法的全屋定制平台网站设计,旨在解决消费者在个性化定制中面临的选择难题。通过整合Django、Vue、Python与MySQL等技术,构建集家装设计、材料推荐、家具搭配于一体的一站式智能服务平台,提升用户体验与行业数字化水平。
|
7月前
|
算法
基于MPPT算法的光伏并网发电系统simulink建模与仿真
本课题基于MATLAB/Simulink搭建光伏并网发电系统模型,集成PV模块、MPPT算法、PWM控制与并网电路,实现最大功率跟踪与电能高效并网。通过仿真验证系统在不同环境下的动态响应与稳定性,采用SVPWM与电流闭环控制,确保输出电流与电网同频同相,满足并网电能质量要求。
|
8月前
|
数据采集 边缘计算 算法
遗传算法+多目标规划算法+自适应神经模糊系统(Matlab代码实现)
遗传算法+多目标规划算法+自适应神经模糊系统(Matlab代码实现)
204 4
|
8月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
543 2
|
8月前
|
机器学习/深度学习 自然语言处理 算法
基于改进鲸鱼优化算法的微网系统能量优化管理研究(Matlab代码实现)
基于改进鲸鱼优化算法的微网系统能量优化管理研究(Matlab代码实现)
331 1
|
8月前
|
机器学习/深度学习 算法 算法框架/工具
256KB内存约束下的设备端训练:算法与系统协同设计——论文解读
MIT与MIT-IBM Watson AI Lab团队提出一种创新方法,在仅256KB SRAM和1MB Flash的微控制器上实现深度神经网络训练。该研究通过量化感知缩放(QAS)、稀疏层/张量更新及算子重排序等技术,将内存占用降至141KB,较传统框架减少2300倍,首次突破设备端训练的内存瓶颈,推动边缘智能发展。
576 6
|
9月前
|
机器学习/深度学习 边缘计算 算法
【状态估计】基于LMS类自适应滤波算法、NLMS 和 LMF 进行系统识别比较研究(Matlab代码实现)
【状态估计】基于LMS类自适应滤波算法、NLMS 和 LMF 进行系统识别比较研究(Matlab代码实现)
302 3
|
8月前
|
机器学习/深度学习 存储 算法
基于模型预测算法的混合储能微电网双层能量管理系统研究(Matlab代码实现)
基于模型预测算法的混合储能微电网双层能量管理系统研究(Matlab代码实现)
222 0
|
10月前
|
算法 数据可视化 数据挖掘
基于EM期望最大化算法的GMM参数估计与三维数据分类系统python源码
本内容展示了基于EM算法的高斯混合模型(GMM)聚类实现,包含完整Python代码、运行效果图及理论解析。程序使用三维数据进行演示,涵盖误差计算、模型参数更新、结果可视化等关键步骤,并附有详细注释与操作视频,适合学习EM算法与GMM模型的原理及应用。
|
9月前
|
机器学习/深度学习 人工智能 算法
【多智能体编队】基于自适应控制算法非线性输入的多智能体系统编队控制研究(Matlab代码复现)
【多智能体编队】基于自适应控制算法非线性输入的多智能体系统编队控制研究(Matlab代码复现)
225 0

推荐镜像

更多