Linux教程

??《操作系统调度算法》???建议收藏?

本文主要是介绍??《操作系统调度算法》???建议收藏?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 一、调度算法评价标准
    • 1.CPU资源利用率
    • 2.系统吞吐量
    • 3.周转时间
    • 4.等待时间
    • 5.响应时间
  • 二、FCFS、SJF、HRRN调度算法
    • 1.先来先服务(FCFS)
    • 2.短作业优先(SJF)
    • 3.高响应比优先(HRRN)
  • 三、 三种调度算法的对比
  • 四、时间片轮转、优先级调度、多级反馈队列调度算法
    • 1.时间片轮转调度算法RR
    • 2.优先级调度算法
    • 3.多级反馈队列调度算法
  • 五、三种调度算法的对比

一、调度算法评价标准

1.CPU资源利用率

1️⃣.CPU资源利用率 = 忙碌时间 / 总时间
在这里插入图片描述
2️⃣. 多道程序并发执行:用甘特图

2.系统吞吐量

1️⃣.单位时间内完成作业的数量
2️⃣.系统吞吐量 = 总共完成了多少道作业 / 总共花了多少时间
在这里插入图片描述

3.周转时间

1️⃣.周转时间:是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。
↘️ 计算:周转时间 = 作业完成时间 - 作业提交时间
2️⃣.平均周转时间 = 各作业周转时间之和 / 作业数
3️⃣.带权周转时间:作业周转时间 / 作业实际运行的时间 = (作业完成时间 - 作业提交时间) / 作业实际运行的时间
4️⃣.平均带权周转时间:各作业带权周转时间之和 / 作业数

4.等待时间

1️⃣.等待时间:指进程 / 作业处于等待处理机状态时间之和,等待时间越长,用户满意度越低。
2️⃣.对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。
3️⃣.对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间
4️⃣.一个作业总共需要被CPU服务多久,被I/O设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。当然,与前面指标类似,也有“平均等待时间”来评价整体性能。

5.响应时间

1️⃣.响应时间:指从用户提交请求到首次产生响应所用的时间。

二、FCFS、SJF、HRRN调度算法

↘️( 一般适用于早期的批处理系统)

1.先来先服务(FCFS)

算法思想、②算法规则、③用于作业调度还是进程调度、④抢占式还是非抢占式、⑤优点、缺点、⑥是否会导致饥饿

  1. 算法思想:主要从“公平”的角度考虑(类似于我们生活中排队买东西的例子)
  2. 算法规则:按照作业/进程到达的先后顺序进行服务
  3. 用于作业/进程调度:用于作业调度时,考虑的是哪个作业先到达后备队列;用于进程调度时,考虑的是哪个进程先到达就绪队列
  4. 是否抢占:非抢占式算法
  5. 优缺点:优点:公平、实现简单;缺点:排在长作业(进程)后面的短作业需要等待很长时间,带权周转时间很大,对短作业来说用户体验不好。即,FCFS算法对长作业有利,对短作业不利(Eg :排队买奶茶
这篇关于??《操作系统调度算法》???建议收藏?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!