操作系统原理,交互式系统常见的调度算法,时间片轮转RR,虚拟轮转VRR,最高优先级调度,优先级反转问题与应对

一、交互式系统中采用的调度算法:
1、时间片轮转调度RR,round robin
2、最高优先级调度HPF,hignest priority first
3、多级反馈队列multiple feedback queue
4、最短进程优先shortest process next
5、指标:响应时间,公平平衡

二、时间片轮转调度算法RR,round Robin
1、将CPU时间划分为时间片,挨个切换进程,用完了自己的时间片的进程排到末尾等待

2、目标:为短任务改善平均响应时间
3、思路:周期性切换,每个进程分配一个时间片,始终中断引发轮换
4、时间片的选择,不能能过长或过短,按照经验选择在10ms-100ms之间
5、优点:公平,有利于交互式计算,响应快,在进程交互时间不同时有利
6、缺点:进程切换较多,开销较大,通常以切换开销约占时间片的1%较为合适;同时平均周转时间会长一些

三、虚拟轮转法virtual RR
1、在时间片轮转算法的基础上,对IO密集型进程多一点思考
2、IO密集型进程对CPU 的使用较少,但每次运行完都到队列尾重新等待,就很不公平
3、解决方法:为IO密集型进程设置一个辅助就绪队列,当IO密集型进程就绪时,操作系统将其置入辅助队列,并在切换进程时,优先到辅助队列里面查找,确保公平性,辅助队列为空以后,才会去就绪队列里面选择进程。

四、最高优先级调度算法
1、选择优先级最高的进程投入运行
2、通常情况下:系统进程优先级高于用户进程,前台进程优先级高于后台进程,操作系统更偏好于IO密集型进程
3、优先级可静态或动态调整,优先数可以决定优先级
4、就绪队列可以按照优先级进行组织
5、实现简单,但是不公平,优先级低的进程出现“饥饿”情况,始终得不到CPU

五、优先级反转问题(又叫优先级反置,反转,倒挂等)
1、基于优先级的抢占式调度算法产生
2、现象:进程A,进程B,进程C,优先级A>B>C,但是A进程依赖C进程,需要等C执行的结果才能运行,A的最高优先级抢占到CPU,然后因依赖关系将CPU让给C,B的优先级高于C抢占了CPU,然后又被A抢占,再次重复,导致进程停滞不前,系统性能降低。
3、这种情况是一种系统错误
4、解决方法:
A、设置优先级上限,
B、使用优先级继承,低优先级的基础阻碍的高优先级继承,则可以临时将自己的优先级提升至高优先级
C、使用中断禁止,避免抢占

操作系统原理,交互式系统常见的调度算法,时间片轮转RR,虚拟轮转VRR,最高优先级调度,优先级反转问题与应对相关推荐

  1. Java操作系统进程调度算法——时间片轮转(RR)算法

    Java操作系统进程调度算法--时间片轮转(RR)算法 文章目录 Java操作系统进程调度算法--时间片轮转(RR)算法 前言 一.算法思想 二.数据结构 1.定义PCB进程控制块 2.实现思路 三. ...

  2. linux操作系统原理_Linux系统从新手到运维老鸟学习指南

    Linux是在1990年底到1991年由芬兰大学的学生LinusTorvalds利用Minix操作系统作为开发平台编写了内核,目前由世界各地的爱好者共同开发和维护的与UNIX兼容的操作系统,也是自由和 ...

  3. 电脑技巧:电脑安装操作系统、重装系统常见的问题解决方法!

    重装系统现在也不是什么难事,但在重装过程中也会有经常遇到一些问题的,这里介绍一些比较常见的问题及其解决方法. 1.提示权限不足 当前用户的Windos系统对系统盘没有读写权限 解决方法: 将所有杀毒软 ...

  4. java实现操作系统时间片轮转进程调度算法(RR算法)

    Time类 package RR算法; public class time {private int hour;private int min;public int getHour() {return ...

  5. 【操作系统/OS笔记10】进程/线程的调度原则、调度算法、实时调度、多处理器调度、优先级反转

    本次笔记内容: 8.1 背景 8.2 调度原则 8.3 调度算法1 8.4 调度算法2 8.5 实时调度 8.6 多处理调度与优先级反转 文章目录 CPU调度背景 上下文切换 CPU调度 在进程/线程 ...

  6. 操作系统原理分析实验

    操作系统原理分析要点 https://www.cnblogs.com/huyufeng/p/5400639.html 进程的调度时机与进程切换机制 ------------- 调度时机 中断处理过程( ...

  7. 王道操作系统考研笔记——2.2.0 交互式系统调度算法

    2.2.0 交互式系统调度算法 知识总览 2.2.0.1 时间片轮转 知识点 说明 英文名 RR,Round-Robin 算法思想 公平地.轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响 ...

  8. 操作系统中常见的调度算法

    文章目录 1. 进程调度算法 1. 先来先服务算法(FIFO) 2. 最短作业优先算法(SJF) 3. 最短完成时间优先算法(STCF) 4. 高响应比优先算法(Highest Response Ra ...

  9. 优先级调度算法实现_《操作系统原理》实验一:进程调度

    操作系统原理实验-进程调度实验报告 一.目的与要求 (1)进程是操作系统最重要的概念之一,进程调度是操作系统内核的重要功能,本实验选用XX语言编写了一个进程调度模拟程序,使用优先级或时间的轮转法实现进 ...

最新文章

  1. c语言编程中tem代表什么意思,“CTEM”是“Conventional Transmission Electron Microscopy”的缩写,意思是“常规透射电子显微镜”...
  2. 后量子密码芯片研究取得重大突破,论文入选ISSCC 2022和CHES 2022
  3. 从 Nginx、Apache 工作原理看为什么 Nginx 比 Apache 高效!
  4. java 反射获取实体类_Java 通过反射给实体类赋值操作
  5. 机器学习(七)——规则化和模型选择
  6. matlab内维尔差值代码,计算方法上机练习数值积分(包括两次作业).PDF
  7. QT Openssl no OPENSSL_Applink 解决
  8. pytorch-多GPU训练(单机多卡、多机多卡)
  9. Effective_STL 学习笔记(四) 用 empty 来代替检查 size() 是否为0
  10. 【Tensorflow】深度学习实战01——Tensorflow实现简单的卷积网络(MNIST)
  11. 磁盘测试----fio
  12. C++之explicit构造函数
  13. linux中python如何调用matlab的数据_如何在Python中创建Gif动图?(动图数据可视化基础教学)
  14. Lintcode203 Segment Tree Modify solution 题解
  15. centos7配置时间同步服务器
  16. 学习逆向知识之用于游戏外挂的实现.第三讲,通过游戏外挂.分析红色警戒金钱基址.以及确定基址小技巧....
  17. ORA-22835:缓冲区对于CLOB到CHAR转换而言太小
  18. mt950报文解析_MT9**报文学习
  19. python snmp_cmds库snmpwalk 中文正常显示方法
  20. dell笔记本外接显示器_笔记本连接显示器怎么设置【图文教程】

热门文章

  1. python医院管理系统代码_php医院管理系统,源码免费分享
  2. NFT元宇宙游戏开发铸造源代码怎么写案例分享
  3. 【LOJ6247】九个太阳(单位根反演)(二项式定理)
  4. ATSHA204芯片手册阅读笔记
  5. 笔记:GIT配置和命令
  6. 基于Node.js + jade + Mongoose 模仿gokk.tv
  7. Android性能优化之较精确的获取图像显示到屏幕上的时间
  8. 【每日一题2019-11-14】-蓝桥杯 prev37 分巧克力
  9. [buuctf] crypto全解——前84道(不建议直接抄flag)
  10. ipad分屏_Ipad使用技巧大总结。