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

在这里插入图片描述

在这里插入图片描述

🌈个人主页: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.mzph.cn/news/684378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型爆款应用fabric_构建优雅的提示

项目地址:https://github.com/danielmiessler/fabric 1 引言 目前 fabric 已经获得了 5.3K Star,其中上周获得了 4.2K,成为了上周热榜的第二名(第一名是免费手机看电视的 Android 工具),可以算是爆款应用…

v-model的原理

v-model是v-bind和v-on结合在一起的语法糖,是用于原生标签(如input、textarea…)和自定义组件上的一个简化包装。它本身并不会做出什么,只会将表单元素的值(input/textarea等)与数据对象进行双向绑定。v-mo…

【leetcode994】腐烂的橘子(BFS)

文章目录 一、题目二、思路三、代码 一、题目 二、思路 首先将所有烂橘子入队,然后常规BFS遍历,注意while的截止条件除了队列为空,新鲜橘子数量大于0(没新鲜橘子也没必要继续遍历,保证时间计算的正确性)&a…

哈希切分

目录 一 二 三 2.单个子文件太大怎么办?(分两种情况讨论) 一 这样的题目典型就是KV模型的问题,即通过key IP找对应的value 出现次数,对于KV模型的问题首先想到的就是用map来统计次数,但是100G大小的文件…

Docker 第十四章 : Docker 三剑客之 Machine

第十四章 : Docker 三剑客之 Machine 本章知识点: Docker Machine 是 Docker 三剑客之一,它是一个工具,允许用户在本地或远程机器上创建 Docker 主机。它简化了 Docker 环境的设置,特别是在不同的操作系统和云平台上。通过 Docker Machine,用户可以轻松地在虚拟机或物理…

基于四叉树的图像分割算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ........................................................... Imgs(dx 1 : dx R1, dy 1 …

Spring中的事务实现、失效场景即AOP的相关概念理解

spring实现事务(声明式事务)的本质就是aop完成的,它会对方法的前后进行拦截,在执行方法之前开启事务,在执行完目标方法之后根据执行情况提交或回滚事务。aop就是面向切面编程,在spring中将那些与业务无关,但却对多个对象产生影响的…

【硬核】javascript轻松实现自动化批量取消某音用户关注功能

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起学习和进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&a…

SQL世界之函数+语句(九,十)

目录 一、SQL 函数 1.函数的语法 2.函数的类型 1.合计函数(Aggregate functions) 2.Scalar 函数 二、SQL AVG 函数 1.AVG 函数 2.SQL AVG() 语法 3.SQL AVG() 实例 三、SQL COUNT() 函数 1.COUNT() 函数 2.SQL COUNT() 语法 3.SQL COUNT(co…

高程 | 继承与派生(c++)

文章目录 📚继承的概念和语法📚派生类生成过程📚继承权限和继承方式🐇公有继承🐇私有继承🐇保护继承 📚类型转换规则📚派生类构造函数和析构函数📚继承中的静态成员特性&…

Linux rp_filter、arp_filter、arp_ignore、arp_announce参数说明

Linux rp_filter、arp_filter、arp_ignore、arp_announce参数说明。我查看了参考资料,又去查阅了官方文档,凭着我的理解整理了以下文档。各位大神的文档写的很好,但都不喜欢断句啊,读的我这叫一个累。 参考 1.网络编程之网络丢包…

poetry,一个超实用的 Python 库!

文章目录 什么是 Python Poetry?安装 Python PoetryPython Poetry 的主要特性1. 简洁易用的依赖定义2. 虚拟环境管理3. 依赖解析和锁定4. 包管理和发布 使用 Python Poetry 管理项目依赖1. 创建新项目2. 添加依赖3. 安装依赖4. 移除依赖5. 更新依赖6. 查看当前依赖列…

IDEA工程与模块管理

一、IDEA项目结构 层级关系: project(工程) - module(模块) - package(包) - class(类)具体的: 一个project中可以创建多个module一个module中可以创建多个package一个package中可以创建多个class二、Project和Module的概念 在 IntelliJ IDEA 中&…

机器学习——聚类问题

📕参考:西瓜书ysu老师课件博客(3)聚类算法之DBSCAN算法 - 知乎 (zhihu.com) 目录 1.聚类任务 2.聚类算法的实现 2.1 划分式聚类方法 2.1.1 k均值算法 k均值算法基本原理: k均值算法算法流程: 2.2 基于…

MySQL 基础入门指南:从安装到基本操作

一、简介 MySQL 是一种流行的开源关系型数据库管理系统,被广泛用于各种规模和类型的应用程序中。如果您对 MySQL 还不熟悉,本文将为您提供一个基础的入门指南,从安装到基本操作。 1.1 安装 MySQL 首先,您需要下载并安装 MySQL。…

GD32F303VET6裸板调试遇到问题

1、开始串口中断的时候会死机:nvic_irq_enable(USART0_IRQn, 3, 0); 解决:要设置中断优先级分组: nvic_priority_group_set(NVIC_PRIGROUP_PRE4_SUB0); 2、初始化的时候多几次使用 printf 会HardFault_Handler: 解决:因为RTOS中…

《剑指offer》

本专题是分享剑指offer的一些题目,开始刷题计划。 二维数组的中的查找【https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?tpId13&tqId11154&ru/exam/oj】 描述 在一个二维数组array中(每个一维数组的长度相同&#xff0…

大端和小端传输字节完整版

大端和小端传输字节序 大端和小端一、最高有效位、最低有效位1.MSB(Most significant Bit)最高有效位2.LSB(Least Significant Bit)最低有效位 二、内存地址三、大端和小端四、网络字节序和主机字节序五、C#位操作符六、C#中关于大端和小端的转换七、关于负数八、关于汉字编码以…

论文阅读 - Non-Local Spatial Propagation Network for Depth Completion

文章目录 1 概述2 模型说明2.1 局部SPN2.2 非局部SPN2.3 结合置信度的亲和力学习2.3.1 传统正则化2.3.2 置信度引导的affinity正则化 3 效果3.1 NYU Depth V23.2 KITTI Depth Completion 参考资料 1 概述 本文提出了一种非局部的空间传播网络用于深度图补全,简称为…

Docker安装Harbor

参考文档: Docker安装Harbor[基础服务] [Docker] Harbor 安装和配置