吐血整理!操作系统【处理机调度】

2024-02-16 12:04

本文主要是介绍吐血整理!操作系统【处理机调度】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

在这里插入图片描述

🌈个人主页:godspeed_lucip
🔥 系列专栏:OS从基础到进阶


  • 1 基本概念
    • 1.1 总览
    • 1.2 什么是调度
      • 1.2.1 调度
      • 1.2.2 处理机调度
    • 1.3 调度的三个层次
      • 1.3.1 高级调度
      • 1.3.2 中级调度(内存调度)
      • 1.3.3 低级调度(进程调度)
    • 1.4 七状态模型
    • 1.5 三层调度的联系与对比
    • 1.6 总结
  • 2 方式与过程
    • 2.1 总览
    • 2.2 进程调度的时机
      • 2.2.1 需要进行调度的情况
      • 2.2.2 不能进行调度的情况
    • 2.3 临界区
      • 2.3.1 临界资源
      • 2.3.2 临界区
      • 2.3.3 分类
    • 2.4 进程调度的方式
      • 2.4.1 分类
      • 2.4.2 方式
    • 2.5 总结
  • 3 处理机调度算法(非抢占式)
    • 3.1 总览
    • 3.2 调度算法的评价指标
      • 3.2.1 CPU利用率
      • 3.2.2 系统吞吐量
      • 3.2.3 周转时间
      • 3.2.4 带权周转时间
      • 3.2.5 等待时间
      • 3.2.6 响应时间
    • 3.3 调度算法的学习思路
    • 3.4 调度算法
      • 3.4.1 先来先服务(FCFS,First Come first Serve)
      • 3.4.2 短作业优先(SJF,Shortest Job First)
      • 3.4.3 高响应比优先(HRRN,Highest Response Ratio Next)
    • 3.5 总结
  • 4 处理机调度算法(抢占式)
    • 4.1 总览
    • 4.2 各算法
      • 4.2.1 时间片轮转(RR,Round-Robin)
      • 4.2.2 优先级调度算法
      • 4.2.3 多级反馈队列算法
    • 4.3 总结
  • 5 总结


1 基本概念

1.1 总览

image1

1.2 什么是调度

1.2.1 调度

image2

1.2.2 处理机调度

image3

1.3 调度的三个层次

1.3.1 高级调度

(1)是针对作业的调度,传统批处理机系统中作业是必须全部执行完才可以结束的
(2)概念
image4

1.3.2 中级调度(内存调度)

(1)操作系统会将暂时不可以运行的进程调至外存等待(虚拟存储技术),知道进程重新具备了运行条件或内存有空闲时再重新调入内存。这样做可以提高内存利用率、系统吞吐量。此时的进程所处的状态为挂起状态。
(2)PCB不会一起调到外存,依然在内存中,操作系统将被挂起的PCB放入挂起队列中
(3)解释
image5

1.3.3 低级调度(进程调度)

image6

1.4 七状态模型

image7

1.5 三层调度的联系与对比

image8

1.6 总结

image9

2 方式与过程

2.1 总览

image1

2.2 进程调度的时机

2.2.1 需要进行调度的情况

image2

2.2.2 不能进行调度的情况

image3

2.3 临界区

2.3.1 临界资源

一个时间段内只允许一个进程使用的资源。各进程需要互斥的访问临界资源

2.3.2 临界区

访问临界资源的那段代码

2.3.3 分类

(1)内核程序临界区
① 一般用于访问某种数据结构,比如由各就绪进程的PCB组成的就绪队列。
② 在访问内核程序临界区期间不可以进行调度与切换,否则容易造成系统的错误。
image4
(2)普通临界区:
① 可以在访问普通临界区时进行调度与切换。
②比如,当一个进程占用了打印机这种速度很慢的I/O设备,假如此时不进行调度,则进程在等待IO处理完成的期间CPU会一直处于空闲状态,
image5

2.4 进程调度的方式

2.4.1 分类

image6

2.4.2 方式

image7

2.5 总结

image8

3 处理机调度算法(非抢占式)

3.1 总览

image1
image2

3.2 调度算法的评价指标

3.2.1 CPU利用率

image3

3.2.2 系统吞吐量

image4

3.2.3 周转时间

image5

3.2.4 带权周转时间

image6

3.2.5 等待时间

image7

3.2.6 响应时间

image8

3.3 调度算法的学习思路

image9

3.4 调度算法

3.4.1 先来先服务(FCFS,First Come first Serve)

image10

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

(1)短作业优先调度
image11

(2)最短剩余时间优先算法
image12

(3)注意几个小细节
image13

(4)短作业优先
image14

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

(1)概述

image15
(2)总结
image16

4. 注意
image17

3.5 总结

image18

image19

4 处理机调度算法(抢占式)

4.1 总览

image1

4.2 各算法

4.2.1 时间片轮转(RR,Round-Robin)

image2
(1)调度过程详解
以下表为例:
image3
①假设时间片大小为2
image4
image5
image6
最终结果
image7

②假设时间片大小为5
image8
最终结果:
image9
(2)注意
image10

4.2.2 优先级调度算法

image11
(1)非抢占式的优先级调度算法例题
image12
(2)抢占式的优先级调度算法例题
image13

(3)补充
image14
(4)如何合理的设置进程的优先级?
image15
①为什么要偏好I/O型进程呢?
image16

(5)对于动态优先级,什么时候该去调整呢
image17

4.2.3 多级反馈队列算法

image18
(1)算法步骤
image19

4.3 总结

image20

5 总结

操作系统,如默默守护的守夜者,无声地管理硬件与软件的交流,为计算机创造和谐秩序。

它是无形的引导者,让复杂的任务变得井然有序,为用户提供无忧体验。

操作系统的巧妙设计,让计算机变得更加智能高效,让人与科技之间的交流更加顺畅。

在每一次启动中,它如信任的伙伴,带领我们进入数字世界的奇妙旅程。

渴望挑战操作系统的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多操作系统的奇迹吧。我们推出了引领趋势的💻OS专栏:《OS从基础到进阶》 ,旨在深度探索OS的实际应用和创新。🌐🔍

在这里插入图片描述

在这里插入图片描述

这篇关于吐血整理!操作系统【处理机调度】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/714477

相关文章

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

rtmp流媒体编程相关整理2013(crtmpserver,rtmpdump,x264,faac)

转自:http://blog.163.com/zhujiatc@126/blog/static/1834638201392335213119/ 相关资料在线版(不定时更新,其实也不会很多,也许一两个月也不会改) http://www.zhujiatc.esy.es/crtmpserver/index.htm 去年在这进行rtmp相关整理,其实内容早有了,只是整理一下看着方

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww