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

news2024/11/28 17:59:15

在这里插入图片描述

在这里插入图片描述

🌈个人主页: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.coloradmin.cn/o/1450422.html

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

相关文章

如何给最小化安装的CentOS主机装个远程桌面?

正文共:888 字 18 图,预估阅读时间:1 分钟 前面我们领微软云Azure的免费主机时(白嫖党618福利!来Azure领200美刀!外加云主机免费用一年!),发现“有资格免费试用服务”的主…

无人机地面站技术,无人机地面站理论基础详解

地面站作为整个无人机系统的作战指挥中心,其控制内容包括:飞行器的飞行过程,飞行航迹, 有效载荷的任务功能,通讯链路的正常工作,以及 飞行器的发射和回收。 无人机地面站总述 地面站作为整个无人机系统的作战指挥中心…

Cannot resolve symbol ‘@+id/modifyAvatar‘

问题 Cannot resolve symbol id/modifyAvatar详细问题 笔者进行Android开发,创建组件id,报红。 鼠标放置报红处,提示 Cannot resolve symbol id/modifyAvatar解决方案 顶部菜单栏 → \rightarrow →Build → \rightarrow →Rebuild proje…

每日一题 力扣107 二叉树的层序遍历Ⅱ

107. 二叉树的层序遍历 II 题目描述: 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例 1: 输入:root [3,9,20…

《UE5_C++多人TPS完整教程》学习笔记6 ——《P7 在线会话控制(Online Sessions)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P7 在线会话控制(Online Sessions)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者&…

【Java多线程案例】定时器

1. 定时器简介 定时器:想必大家一定对定时器这个概念不陌生!因为它经常出现在我们的日常生活和编程学习中,定时器就好比是一个"闹钟",会在指定时间处理某件事(例如响铃),而在编程世界…

Obsidian Publish的开源替代品Perlite

前几天就有网友跟我说,freenom 的免费域名不可用了,10 号的时候老苏进后台看了一下,还有一半的域名显示为 ACTIVE,似乎是以 2024年6月 为限。但到 11 号,老苏发现博客 (https://laosu.cf) 已经访问不了了,这…

Django学习笔记教程全解析:初步学习Django模型,初识API,以及Django的后台管理系统(Django全解析,保姆级教程)

把时间用在思考上是最能节省时间的事情。——[美]卡曾斯 导言 写在前面 本文部分内容引用的是Django官方文档,对官方文档进行了解读和理解,对官方文档的部分注释内容进行了翻译,以方便大家的阅读和理解。 概述 在上一篇文章里&#xff0…

C#,生成字符串整数校验码(Checksum)的谷歌(Google)算法与源代码

如题。 校验码系统是产生校验码并校验包括校验码在内的字符串的一套规则。 它可以防止在抄录和键入字符串时产生的错误。 一般生成 MD5 校验,也可以生成、进行简单、快速的 整数 校验。 谷歌开源,很实用的整数校验码生成代码。 1 文本格式 using Sy…

Python免费下载安装全流程(Python 最新版本),新手小白必看!

前言 今天换了新的电脑,需要重新安装python和PyCharm,就简单的写个教程吧~ 一、Python下载 1、进入Python官网 官网地址:https://www.python.org 2、点击【Downloads】展开后点击【Windows】跳转到下载python版本页面,选择&qu…

物联网技术的崛起:驱动智慧景区的新篇章

随着科技的飞速发展,物联网技术逐渐成为推动各行各业创新的重要力量。在旅游业中,物联网的应用为智慧景区的建设提供了有力支持,为游客带来了更加便捷、智能的旅游体验。本文将探讨物联网技术在智慧景区中的应用及其对旅游业的影响&#xff0…

[职场] 求职如何设置预期 #笔记#经验分享

求职如何设置预期 在求职的道路上,无论处于哪个年龄阶段,合理的就业期望值才能使我们的愿望与社会的需求相吻合,才能让自己在今后的工作中发挥出最大的实力与能力。 一、结合测评软件,明确求职目标 根据霍兰德职业兴趣测试结果&a…

解密ERP业务架构:打造高效运营与持续增长的关键

在当今竞争激烈的商业环境中,企业需要有效管理和整合各个部门的业务流程和信息,以实现高效运营和持续增长。而ERP(企业资源规划)系统作为一种集成的业务管理平台,扮演着至关重要的角色。本文将探讨ERP业务架构的重要性…

[经验] 欧阳修唐宋八大家之首是谁 #微信#知识分享#学习方法

欧阳修唐宋八大家之首是谁 1、唐宋八大家之首是谁 唐宋八大家是中国文学史上最具代表性的八位大文豪,他们的文学成就在中国文学史上占有重要地位,被誉为文学史上的“巨人”。 唐宋八大家之首,无疑是唐代著名诗人杜甫。他出生在一个贫苦的家…

RK3568笔记十五:触摸屏测试

若该文为原创文章,转载请注明原文出处。 使用正点原子的ATK-RK3568板子,一直在测试屏幕和视频,突然想到触摸屏测试,一直没有用过,原子给的demo跑的是QT系统,触摸功能是正常的,测试一下&#xf…

C语言strlen和sizeof的区别

strlen和sizeof没有联系 前者是库函数,统计长度的标志是是否有\0 后者是操作符。计算长度的标志是字节数量。

电脑监控屏幕软件有哪些(监控电脑屏幕的软件)

随着信息技术的迅猛发展,电脑屏幕监控软件已成为企业、家庭以及教育机构保护数据安全、提升工作效率以及进行行为分析的重要工具。本文将详细介绍几款主流的电脑屏幕监控软件,包括它们的功能、特点以及适用场景,帮助读者更好地了解并选择合适…

31.File文件

File文件 1. 概述2. 构造方法2.1 方法2.2 代码示例 3. 成员方法3.1 判断、获取的方法3.1.1 方法3.1.2 代码示例 3.2 创建、删除的方法3.2.1 方法3.2.2 代码示例 3.3 获取、遍历的方法3.3.1 重点方法3.3.1.1 方法3.3.1.2 代码示例 3.3.2 所有方法3.3.2.1 方法3.3.2.2 代码示例 4…

【数据结构】LRU Cache

文章目录 LRUCache LRUCache 1. LRUCache是一种缓存的替换技术,在CPU和main memory之间根据计算机的局部性原理,往往会采用SRAM技术来构建CPU和主存之间的高速缓存,DRAM(dynamic random access memory)用于构建主存,LRUCache这种…

Rust 数据结构与算法:3栈:用栈实现符号匹配

1、符号匹配 如: (56)(78)/(43)、{ { ( [ ] [ ])}}、(ab)(c*d)func() 等各类语句的符号匹配。 这里我们关注的不是数字而是括号,因为括号更改了操作优先级,限定了语言的语义,这是非常重要的。如果括号不完整,那么整个…