操作系统基础:处理机调度【上】

在这里插入图片描述

在这里插入图片描述

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


  • 1 处理机调度(上)
    • 1.1 基本概念
      • 1.1.1 总览
      • 1.1.2 什么是调度
      • 1.1.3 调度的三个层次
      • 1.1.4 七状态模型
      • 1.1.5 三层调度的联系与对比
      • 1.1.6 总结
    • 1.2 方式与过程
      • 1.2.1 总览
      • 1.2.2 进程调度的时机
      • 1.2.3 临界区
      • 1.2.4 进程调度的方式
      • 1.2.5 总结
  • 🕮 2 总结


1 处理机调度(上)

1.1 基本概念

1.1.1 总览

image1

1.1.2 什么是调度

1. 调度
image2
2. 处理机调度
image3

1.1.3 调度的三个层次

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

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

3. 低级调度(进程调度)
image6

1.1.4 七状态模型

image7

1.1.5 三层调度的联系与对比

image8

1.1.6 总结

image9

1.2 方式与过程

1.2.1 总览

image1

1.2.2 进程调度的时机

1. 需要进行调度的情况
image2
2. 不能进行调度的情况
image3

1.2.3 临界区

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

2. 临界区:访问临界资源的那段代码

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

1.2.4 进程调度的方式

1. 分类
image6

2. 方式
image7

1.2.5 总结

image8

🕮 2 总结

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

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

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

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

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

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/357774.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

编写交互式 Shell 脚本

在日常的系统管理和自动化任务中,使用 Shell 脚本可以为我们节省大量时间和精力。 文章将以输入 IP 为例,通过几个版本逐步完善一个案例。 原始需求 编写一个交互式的 Shell 脚本,运行时让用户可以输入IP地址,并且脚本会将输入…

linux批量查询python进程,批量关闭

我使用bash脚本启动了一个多进程的python代码,但是由于遗忘的问题,查看队列发现进程还在,但是我并不是使用linux的screen后台启动的,启动的进程丢失了,找不到启动这个的主进程了。我想能不能通过查询python启动命令&am…

HBuilderX插件

HBuilderX>工具插件安装 安装新插件 前往插件市场安装 1.DCloud插件市场 https://ext.dcloud.net.cn/ 2.GitHub官网 插件项目(下载zip) 本地离线包 离线安装插件 https://hx.dcloud.net.cn/Tutorial/OfflineInstall open /Applications/HBuilderX.app/Contents/HBuilderX/p…

【Linux】—— 信号的产生

本期,我们今天要将的是信号的第二个知识,即信号的产生。 目录 (一)通过终端按键产生信号 (二)调用系统函数向进程发信号 (三)由软件条件产生信号 (四)硬件…

硬件知识(2) 手机的传感器-sensor

#灵感# 看看小米在干啥 手机型号:Redmi Note 13 Pro,解读一下它宣传的手机卖点。 目录 宣传1:1/1.4" 大底,f/1.65 大光圈, 宣传2:支持 2 亿像素超清直出,分辨率高达 16320 x 12240 宣…

SeaTunnel Web安装 一把成

安装相关jar包,以及SeaTunnel 和Web 打成的包,可以直接使用,但是需要安装MySQL客户端的分享: 链接:https://pan.baidu.com/s/1qrt1RAX38SgIpNklbQJ7pA 提取码:0kmf 1. 环境准备 环境名称版本系统环境C…

叙永微公益开展“暖冬童梦·妙想之旅”未成年关爱活动第一天

为了丰富未成年人的寒假生活,让他们在轻松愉快的氛围中发挥创意、锻炼动手能力,同时也能得到学习的辅导。叙永县微公益协会组织大学生志愿者在叙永县新时代文明实践中心、叙永县社工总站、叙永县一品城小区、古寨社区开展为期一周的未成年关爱陪伴活动。…

使用plotly dash 画3d圆柱(Python)

plotly3D (3d charts in Python)可以画3维图形 在做圆柱的3D装箱项目,需要装箱的可视化,但是Mesh (3d mesh plots in Python)只能画三角形,所以需要用多个三角形拼成一个圆柱(想做立…

四、ES集群安全策略设置 X-pack

本文主要是结合ES集群搭建时使用,并且适用于ES7.x以上版本 背景及安全策略方案对比 ES 7.x以下版本默认几乎没有任何安全策略,如果集群IP、端口被暴露,在可访问的情况下任何用户都可以对索引进行管理以及数据的增删改查等,基于此需…

国外非常好的渗透测试资源集合和十大渗透测试演练系统,系统被攻击渗透入侵后进行取证和溯源

国外非常好的渗透测试资源集合和十大渗透测试演练系统,系统被攻击渗透入侵后进行取证和溯源。 Awesome Penetration Testing A collection of awesome penetration testing resources Online Resources Penetration Testing Resources Exploit development Social Enginee…

成功解决AttributeError: ‘str‘ object has no attribute ‘get‘

成功解决AttributeError: ‘str’ object has no attribute ‘get’. 🌵文章目录🌵 🌳引言🌳🌳报错分析及解决方案🌳🌳字典对象的get方法🌳🌳结尾🌳 &#x1…

安全测试-pikachu靶场搭建

pikachu靶场搭建 文章目录 pikachu安装步骤 pikachu pikachu是一个自带web漏洞的应用系统,在这里包含了常见的web安全漏洞,也就是练习的靶场。 练习内容包括: 1.暴力破解 2.XSS 3.CSRF 4.SQL注入 5.RCE 6.文件包含 7.不安全的文件下载 8.不安…

免 费 小程序商城搭建之b2b2c o2o 多商家入驻商城 直播带货商城 电子商务b2b2c o2o 多商家入驻商城 直播带货商城 电子商务

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

c语言学习笔记

逗号表达式 #include <stdio.h>int main(){int a 10;int b 5;int c 6;int d (a 23,b a-4,c b2);printf("%d",d); }打印结果为: 逗号表达式,从左往右依次进行,将最后一个表达式的值赋值给变量. c语言字符串相关库函数 求字符串长度strlen长度不受限制的…

web wifi配网和模式切换-esp8266和esp32

web wifi配网和模式切换-esp8266和esp32 支持模式:1:tcp client() 2:tcp server 3:http server(POST/GET) 4:http client 5:udp,6:factory,7:mqtt 配网进入方式&#xff1a; 开机&#xff0c;指示灯亮起后(需要灯闪烁3下后)&#xff0c;需在3s内&#xff08;超过3s则会正常启动…

WebGL技术开发框架

WebGL技术框架是一些提供了便捷API和工具的库&#xff0c;用于简化和加速在Web浏览器中使用WebGL进行3D图形开发。以下是一些常用的WebGL技术框架&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.Th…

vue+ElementPlus实现中国省市区三级级联动封装

安装插件获取中国省份的所有数据 npm install element-china-area-data -S 借助ElementPlus 级联选择器 Cascader实现 <template><div><el-cascadersize"large":options"options"v-model"selectedOptions"change"handleCh…

32OLED中断系统&对射式红外计数&旋转编码计数

一.程序调试方式 二.OLED简介 stm32引脚上电后&#xff0c;如果不初始化&#xff0c;默认是浮空输入的模式&#xff0c;在这个模式下引脚不会输出电平 三. 中断系统 EXTI外部中断&#xff0c;TIM定时器&#xff0c;ADC模数转换器&#xff0c;USART串口&#xff0c;SPI通信&…

【SpringBoot3】集成Knife4j、springdoc-openapi作为接口文档

一、什么是springdoc-openapi Springdoc-openapi 是一个用于生成 OpenAPI&#xff08;之前称为 Swagger&#xff09;文档的库&#xff0c;专为 Spring Boot 应用程序设计。它可以根据你的 Spring MVC 控制器、REST 控制器和其他 Spring Bean 自动生成 OpenAPI 文档&#xff0c…

Google Chrome 中出现 ERR_SSL_KEY_USAGE_INCOMPATIBLE 错误

证书的方式发生了变化&#xff0c;出现了这个新错误&#xff0c;导致我无法浏览该网站。 可以右键属性获取位置 关闭导航器chrome并转到文件夹&#xff0c;找到Local State文件并删除 执行指令结束进程&#xff0c;重新打开浏览器即可 taskkill /im "chrome.exe"…