【操作系统原理03】处理机调度与死锁
文章目录
- 大纲
- 一.处理机调度概念与层次
- 0.大纲
- 1.基本概念
- 2.三个层次
- 3.七状态模型
- 4.三层调度都对比与联系
- 二.进程调度的时机,切换与过程的调度方式
- 0.大纲
- 1.进程调度时机
- 2.调度方式
- 3.进程的切换与过程
- 三.调度器和闲逛资源
- 1.调度器/调度程序
- 2.闲逛进程
- 四.调度算法的评价指标
- 0.调度算法的评价指标
- 1.CPU利用率
- 2.系统吞吐量
- 3.周转时间
- 4.等待时间
- 5.响应时间
- 五.调度算法1
- 0.大纲
- 1.先来先服务
- 2.短作业优先
- 3.高响应度优先算法
- 4.总结
- 六.调度算法2
- 0.大纲
- 1.时间片轮转调度算法(RR)
- 2.优先级调度算法
- 3.多级反馈队列调度算法
- 4.总结
- 柒.多级队列调度算法
- 八.死锁
- 0.大纲
- 1.概念
- 2.死锁、饥饿、死循环的区别
- 3.四大必要条件
- 4.何时发生死锁
- 5.死锁处理策略
- 九.死锁处理策略
- 1.预防死锁
- 1.0 大纲
- 1.1 破坏互斥条件
- 1.2 破坏不剥夺条件
- 1.3 破坏请求和保持条件
- 1.4 破坏循环等待条件
- 2.避免死锁
- 2.0 大纲
- 2.1 安全序列
- 2.2 银行家算法
- 3.死锁的检测与解除
- 3.0 大纲
- 3.1 死锁的检测
- 3.2 死锁检测算法
- 3.3 死锁解除
大纲

一.处理机调度概念与层次
0.大纲

1.基本概念

2.三个层次
(1)高级调度/作业调度

(2)低级调度/处理机调度

(3)中级调度/内存调度

3.七状态模型

4.三层调度都对比与联系

二.进程调度的时机,切换与过程的调度方式
0.大纲

1.进程调度时机





2.调度方式

3.进程的切换与过程

三.调度器和闲逛资源
1.调度器/调度程序


这时内核线程成为调度的基本单位,进程成为资源分配的基本单位
2.闲逛进程

四.调度算法的评价指标
0.调度算法的评价指标

1.CPU利用率

2.系统吞吐量

3.周转时间


4.等待时间

5.响应时间

五.调度算法1
0.大纲

1.先来先服务


2.短作业优先




注意

3.高响应度优先算法


4.总结

六.调度算法2
0.大纲

1.时间片轮转调度算法(RR)

时间片为2时



时间片为5时

时间片影响



2.优先级调度算法



补充

思考

3.多级反馈队列调度算法


4.总结

柒.多级队列调度算法

八.死锁
0.大纲

1.概念


死锁就是在并发环境下,各进程因竞争资源而造成的一种互相等待对方手中的资源,导致各进程都阻塞,都无法向前推进的现象,就是死锁。发生死锁后若无外力干涉,这些进程都将无法向前推进。
2.死锁、饥饿、死循环的区别

3.四大必要条件
产生死锁必须同时满足以下四个条件,只要其中任意条件不成立,死锁就不会发生
-
互斥条件
只有对必须互斥使用的资源的争抢才会导致死锁(如哲学家的筷子、打印机设备)像内存、扬声器这样可以同时让多个进程使用的资源是不会导致死锁的(因为进程不用阻塞等待这种资源)
-
不剥夺条件
进程所获得的组员在未使用完之前,不能由其他进程强行夺走,只能主动释放
-
请求和保持条件
进程已经保持了至少一个资源,但是又提出了新的资源请求,而该资源又被其他进程占有,此时请求进程被阻塞,但又对自己已有的资源保持不放
-
循环等待条件
存在一种进程资源的循环等待链,链中的每一个进程已获得的资源同时被下一个进程锁请求

注意:发生死锁时一定有循环等待,但循环等待未必死锁


4.何时发生死锁

5.死锁处理策略

九.死锁处理策略
1.预防死锁
1.0 大纲

1.1 破坏互斥条件

1.2 破坏不剥夺条件

1.3 破坏请求和保持条件

1.4 破坏循环等待条件

2.避免死锁
2.0 大纲

2.1 安全序列




2.2 银行家算法









3.死锁的检测与解除
3.0 大纲


3.1 死锁的检测


3.2 死锁检测算法

3.3 死锁解除

相关文章:
【操作系统原理03】处理机调度与死锁
文章目录 大纲一.处理机调度概念与层次0.大纲1.基本概念2.三个层次3.七状态模型4.三层调度都对比与联系 二.进程调度的时机,切换与过程的调度方式0.大纲1.进程调度时机2.调度方式3.进程的切换与过程 三.调度器和闲逛资源1.调度器/调度程序2.闲逛进程 四.调度算法的评…...
Quipus,LightRag的Go版本的实现
1 项目简介 奇谱系统当前版本以知识库为核心,基于知识库可以快构建自己的问答系统。知识库的Rag模块的构建算法是参考了LightRag的算法流程的Go版本优化实现,它可以帮助你快速、准确地构建自己的知识库,搭建属于自己的AI智能助手。与当前LLM…...
使用 Vite 快速搭建现代化 React 开发环境
1.检查环境 说明:检测环境,node版本为18.20.6。 2.创建命令 说明:创建命令,选择对应的选项。 npm create vitelatest 3.安装依赖 说明:安装相关依赖。 npm i...
关于UE5的抗锯齿和TAA
关于闪烁和不稳定现象的详细解释 当您关闭抗锯齿技术时,场景中会出现严重的闪烁和不稳定现象,尤其在有细节纹理和小物体的场景中。这种现象的技术原因如下: 像素采样问题 在3D渲染中,每个像素只能表示一个颜色值,但…...
PG数据库推进医疗AI向量搜索优化路径研究(2025年3月修订版)
PG数据库推进医疗AI向量搜索优化路径研究 一、医疗 AI 向量搜索的发展现状与挑战 1.1 医疗数据特征与检索需求 医疗数据作为推动医疗领域进步与创新的关键要素,具有鲜明且复杂的特征。从多模态角度看,医疗数据涵盖了结构化数据,如患者基本信息、检验检查报告中的数值结果;…...
可穿戴经颅多通道直流电刺激产品测试总结
一 概念原理 tDCS 是一种非侵入性的神经调节技术,利用恒定、低强度直流电(通常为 0 - 2mA)通过电极作用于特定的大脑区域。其工作原理是通过调节神经元的膜电位,来增加或降低神经元兴奋性的特定区域,从而改变大脑运作。…...
什么是 Stream
Stream 是对集合对象功能的增强,它不是集合,也不存储数据,而是从集合中抽象出一条数据通道,让你可以用链式方式一步步处理数据。 🔧 常见操作分类 类型方法举例创建stream(), Stream.of(), Arrays.stream()中间操作fi…...
详解与HTTP服务器相关操作
HTTP 服务器是一种遵循超文本传输协议(HTTP)的服务器,用于在网络上传输和处理网页及其他相关资源。以下是关于它的详细介绍: 工作原理 HTTP 服务器监听指定端口(通常是 80 端口用于 HTTP,443 端口用于 HT…...
-XX:+HeapDumpOnOutOfMemoryError 会打印哪些oom错误
-XX:HeapDumpOnOutOfMemoryError 参数会在 JVM 发生以下 OutOfMemoryError(OOM) 错误时自动生成堆转储文件(Heap Dump),便于后续分析内存溢出原因: 一、触发转储的 OOM 错误类型 Java 堆溢出…...
Moldflow模流分析教程
Moldflow模流分析教程:...
计算机网络 3-4 数据链路层(局域网)
4.1 局域网LAN 特点 1.覆盖较小的地理范围 2.较低的时延和误码率 3.局域网内的各节点之间 4.支持单播、广播、多播 分类 关注三要素 (出题点) ①拓扑结构 ②传输介质 ③介质访问控制方式 硬件架构 4.2 以太网 4.2.1 层次划分 4.2.2 物理层标准…...
加密与解密完全指南,使用Java实现
文章目录 1. 加密基础知识1.1 什么是加密?1.2 加密的历史简介1.2.1 古典加密1.2.2 现代加密的起源1.3 加密的基本概念1.3.1 密码学中的关键术语1.3.2 加密的基本原则1.4 加密的分类1.4.1 对称加密(Symmetric Encryption)1.4.2 非对称加密(Asymmetric Encryption)1.4.3 哈希…...
单片机AIN0、AIN1引脚功能
目录 1. 模拟-数字转换器(ADC) 2. 交流电源(AC) 总结 这两部分有什么区别? 在这个电路图中,两个部分分别是模拟-数字转换器(ADC)和交流电源(AC)。以下是这…...
如何增加 Elasticsearch 中的 primary shard 数量
作者:来自 Elastic Kofi Bartlett 探索增加 Elasticsearch 中 primary shard 数量的方法。 更多阅读: Elasticsearch:Split index API - 把一个大的索引分拆成更多分片 Elasticsearch:通过 shrink API 减少 shard 数量来缩小 El…...
Java 并发性能优化:线程池的最佳实践
Java 并发性能优化:线程池的最佳实践 在 Java 并发编程的世界里,线程池堪称提高应用性能与稳定性的神器。恰如其分地运用线程池,能让我们在多线程任务调度时游刃有余,既能避免线程频繁创建销毁带来的开销,又能合理管控…...
【综述】一文读懂卷积神经网络(CNN)
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。本文旨在介绍CN…...
Python爬虫实战:获取网易新闻数据
一、引言 随着互联网的飞速发展,网络上蕴含着海量的信息资源。新闻数据作为其中的重要组成部分,对于舆情分析、市场研究、信息传播等多个领域具有重要价值。网易新闻作为国内知名的新闻平台,拥有丰富多样的新闻内容。使用 Python 的 Scrapy 框架进行网易新闻数据的爬取,可…...
YOLO学习笔记 | 基于COCO Stuff数据集与YOLOv11的多类别物体检测与分割
基于COCO Stuff数据集与YOLOv11的多类别物体检测与分割技术解析 一、技术背景与YOLOv11核心改进 YOLOv11是Ultralytics推出的新一代目标检测与分割模型,在YOLOv8的基础上进一步优化了架构设计与训练流程。其核心改进包括: 自适应特征增强(AFE)模块:通过空间上下文模块(…...
ICS丨Chapter 1 Introduction to Computer System
Chapter 1 Introduction to Computer System Courses About Systems: DBMSDistributed SystemsCompilersArchitectureOperating Systemse.t.c. 1. Brief Introduction 1.1. What’s about CSAPP?1.2. Power of Abstraction1.3. Importance of understanding HOW things wor…...
阿里云集群开启debug
1、安装 kubectl Macos brew install kubectl Windows: https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-windows/ 下载后,放到任意目录 2、配置连接信息 mac 将以下内容复制到计算机 $HOME/.kube/config 文件下: windows 不同集…...
Flink Hive Catalog最佳实践
Flink Hive Catalog 最佳实践 一、配置与初始化 依赖管理 Hive Connector 版本对齐:需确保 flink-sql-connector-hive 版本与 Hive 版本严格匹配(如 Hive 3.1.3 对应 flink-sql-connector-hive-3.1.3_2.12),同时添加 Hadoop 遮蔽…...
Unity之如何实现RenderStreaming视频推流
文章目录 前言引入 UnityRenderStreaming 的好处教程步骤 1:设置环境步骤 2: 创建项目步骤 3:安装软件包步骤 5:下载示例步骤 6:检查配置环境步骤 7:打开推流场景步骤 8: 准备用于流式传输的WebServer应用程序步骤 9: 运行 示例场景步骤 10:检查视频是否在浏览器中显示…...
【java实现+4种变体完整例子】排序算法中【桶排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
以下是桶排序的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格: 一、桶排序基础实现 原理 将数据分到有限数量的桶中,每个桶内部使用其他排序算法(如插入排序或快速排序)…...
计算机三级:信息安全基础技术与原理(2.1密码技术简单梳理)
以下是密码学发展历程的表格归纳: 发展阶段时间范围关键节点与标志性技术技术突破与核心贡献古典密码时期古代至19世纪• 公元前17世纪 克里特岛Phaistos圆盘(未知符号加密) • 中国西周“阴符”、北宋五言诗密码 • 1466年 艾伯蒂多表代替密码 • 1883年 克尔克霍…...
基于CNN与VGG16的图像识别快速实现指南
基于CNN与VGG16的图像识别快速实现指南 以下是从零实现代码到原理剖析的完整流程,包含TensorFlow/Keras框架的代码示例与关键优化技巧,满足快速实验需求。 一、核心原理对比 特性CNN(基础模型)VGG16结构深度5-10层(如…...
【内置函数】84个Python内置函数全整理
Python 内置函数全集(完整分类 参数详解 示例) 文章目录 Python 内置函数全集(完整分类 参数详解 示例)一、数值与数学函数abs(x)divmod(a, b)pow(x, y, modNone)round(number[, ndigits])sum(iterable, /, start0)hash(obj) …...
【每天一个知识点】模式识别
“模式识别”是一种从数据中识别出规律、结构或趋势的技术,它广泛应用于人工智能、机器学习、图像处理、语音识别、自然语言处理等领域。简单来说,就是让计算机学会“看出”数据中的规律,比如: 从图像中识别人脸(人脸识…...
Codeforces Educational Round 177 Div. 2 【B题,C待补
B 二分 题意 样例 5 3 10 3 4 2 1 512 找最右边的L下标即可 思路 二分最靠右的L端点,R端点取最右端(n*k处),找到后,答案就是L的位置(pos),(因为如果pos满足,则pos左边的所有下标都满足 代码 const in…...
哈夫曼编码和哈夫曼树
哈夫曼编码(Huffman Coding) 是一种基于字符出现频率的无损数据压缩算法,通过构建哈夫曼树(Huffman Tree) 来生成最优前缀编码,使得高频字符用短编码,低频字符用长编码,从而实现高效…...
中西面点实训室虚拟仿真操作平台
在餐饮行业蓬勃发展的当下,中西面点作为其中极具特色与市场需求的重要分支,对于专业人才的渴望愈发强烈。一个功能完备、设施先进的中西面点实训室,已然成为培养高素质面点专业人才的关键阵地。凯禾瑞华——实训室建设 一、中西面点实训室建设…...

