操作系统4小时速成:进程同步,临界资源,互斥,信号量的作用,死锁产生的四个条件,安全状态,银行家算法

news2025/1/16 5:44:52

操作系统4小时速成:进程同步,临界资源,互斥,信号量的作用,死锁产生的四个条件,安全状态,银行家算法

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
在这里插入图片描述
操作系统系列文章:
【1】操作系统4小时速成:操作系统的基本概念,它是系统软件,管理处理机、存储器、io设备、文件,并发和共享是最基本特征,还有虚拟和异步
【2】操作系统4小时速成:操作系统发展和分类,运行环境:运行机制和内核,用户态非特权,核心态特权,中断技术,访管指令
【3】操作系统4小时速成:进程管理占考试40%,进程状态,组织,通信,线程拥有调度,进程拥有资源,进程和线程的区别
【4】操作系统4小时速成:处理机调度,调度方法,调度准则,典型的调度算法,响应比


文章目录

  • 操作系统4小时速成:进程同步,临界资源,互斥,信号量的作用,死锁产生的四个条件,安全状态,银行家算法
    • @[TOC](文章目录)
  • 操作系统:进程同步
    • 实现临界区互斥的方法,尤其是中断屏蔽法
    • 信号量,常考,很强大
  • 死锁:考察频率极其高
  • 总结

操作系统:进程同步

在这里插入图片描述
在这里插入图片描述
打印机,变量共享的那种,叫临界资源
在这里插入图片描述
了解
在这里插入图片描述
一个维护英雄
以维护防御塔
相互制约,相互合作
Pero和nh
在这里插入图片描述
在这里插入图片描述

实现临界区互斥的方法,尤其是中断屏蔽法

在这里插入图片描述

信号量,常考,很强大

在这里插入图片描述
P:等待——wait
V:信号——叫醒,干活
在这里插入图片描述
目前这些概念知道就行
在这里插入图片描述
在这里插入图片描述
协调相互制约使用临界资源
在这里插入图片描述
合作——同步
制约——互斥

打印1+2*3
俩要合作加法乘法
但是打印互斥

在这里插入图片描述
3那个,需要同步的原因,恰恰是因为异步,才要同步,否则次序乱了
B动态
D结构性
在这里插入图片描述
阻塞状态下一个只有就绪

死锁:考察频率极其高

在这里插入图片描述
在这里插入图片描述
gg
我用A,想要B
你用B,想要A
大家都不互让

系统资源恶性竞争
在这里插入图片描述

在这里插入图片描述
进程同步和互斥通过信号量来搞定

在这里插入图片描述
在这里插入图片描述
四个条件必须要同时满足
考试必考!!!
死锁产生的必要条件——多选,必须选四个
在这里插入图片描述
在这里插入图片描述
采取强制执行,接触死锁
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这事没法用

在这里插入图片描述
别人是可以拿走的
在这里插入图片描述
要多少,直接给你了,别人不能动,完事你放

这俩要区分开来,考试容易混淆
在这里插入图片描述
在这里插入图片描述
不会导致进入不安全状态,就分配
可能会不安全的话,那不分配

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
先给P2,2个给他,4台结束
全部释放,5个全给P1
P结束,全部释放,给7给给P3即可
P2,P1,P3顺序执行很安全——都能完成,不会发生死锁

这就是安全状态。

在这里插入图片描述

P2有2个的话,P3有1个
那就麻烦了
P2结束放4个
现在P1缺5个,P3缺6个,你4个不够啊

不安全状态出现——可能出现死锁
安全状态——一定不会出现死锁
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
delta是P0–P4还需要的R1,2,3的资源【最大需求-已经分配】

R1已经用了16,还剩余2
R2已经用了3,还剩3
R3已经用了19,还剩3

(2,3,3)R1,2,3
看看P0–P4还需要的R1,2,3的资源矩阵是否符合<=(2,3,3)
P0不
P1符合
P2不符合
P3符合
P4符合
咱们试试P1P3P4
看看哪个可以???

假如:先给P1,释放之后,看看能否满足剩下顺序
不妨设给P1,需要133,因为有233,所以还剩100
P1释放之后剩余多少呢?P1需要的最大资源+100=536+100=636

再去看看看看P0–P4还需要的R1,2,3的资源矩阵是否符合<=636
不妨设给P3
那还剩多少636-405=231
P3释放之后还剩余多少资源?P3需要的最大资源+231=425 + 231=459

再去看看看看P0–P4还需要的R1,2,3的资源矩阵是否符合<=459
P4所需113<=459
给P4,剩余资源459-113=346
p4释放之后还剩余多少资源?P4需要的最大资源+346=424+ 346=76 10

再去看看看看P0–P4还需要的R1,2,3的资源矩阵是否符合<=76 10
P2所需006<=76 10
给P2,剩余资源76 10-006=7 6 4
p2释放之后还剩余多少资源?P4需要的最大资源+7 6 4=4 0 11+7 6 4=11 6 15

再去看看看看P0–P4还需要的R1,2,3的资源矩阵是否符合<=11 6 15
P0所需2 3 7<=11 6 15
给P2,剩余资源11 6 15-2 3 7=9 3 8
完全足够用

所以说
P1,P3,P4,P2,P0这个顺序是安全状态——一定不会产生死锁
考试你就这么试,就行
这就是银行家算法避免死锁

美滋滋
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一次性分配,那你破坏了占有请求

D预防死锁进入不安全状态——避免死锁

2D哦

别整错了
在这里插入图片描述
在这里插入图片描述
每个进程最多使用3台
看A,x=4,你最多只能给每个进程分配2个
因为4*3=12>11

所以只能分配2个
那8台已经用掉了,还有3台,这个时候不会出现死锁

看Bx=5,同样也是每个最多给2台,目前用了10台,还有1个,轮番给人用就行了,不产生死锁

看Cx=6,每个只能现在分配2台,不够分

所以子涵选B

在这里插入图片描述
最多持有2个
A,2*2=4,还有4个
刚刚好不会发生死锁

B 3*2=6,还有2个,随便给谁都能搞定

C4*2=8,没有机子可以用了gg
所以选c
在这里插入图片描述

别人不能剥夺你

在这里插入图片描述
在这里插入图片描述
先算差多少
在这里插入图片描述
看I
可用资源为1 4 0
它可以给p2进程用,剩余
1 4 0-1 0 0=0 4 0
释放之后剩余2 3 5+0 4 0=2 7 5

给P1,它需要0 0 1,剩余
2 7 5 - 0 0 1=2 7 4
释放之后剩余1 7 5+2 7 4=3 14 9

足够玩

A就不对了,没I

试试II
在这里插入图片描述
0 6 2,可以给P3
剩余0 0 0
释放后有0 6 4

给P4
剩余0 0 0
释放0 6 5

给P1
剩余0 6 4
释放之后还有0 0 4+0 6 4=0 6 8
这玩意不够了,谁都不满足,P0,P2都不行,gg
所以II不能选择
B废了

看III
在这里插入图片描述
1 1 1,可用
给P0,剩余1 1 0
释放后 1 1 4
给P2,剩余0 1 4
释放后2 4 9

gg别的满足不了了
所以III不行
D挂了

只能选C

美滋滋
反正拿到表,直接计算还需要多少,所以你可用资源还剩多少,先给谁?咱去异议尝试就知道了

很舒服


总结

提示:重要经验:

1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

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

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

相关文章

vhost dpdk 共享内存

struct kvm_memory_slot http://tinylab.org/kvm-intro-part1 https://www.cnblogs.com/LoyenWang/p/13943005.html &#xff08;免费订阅,永久学习&#xff09;学习地址: Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟化/高性能专家-学习视频教程-腾讯课堂 更多DPDK相关学习资料有…

Mybatis-Plus——分页+模糊查询

建表&#xff1a; create table pms_brand (brand_id bigint not null auto_increment comment 品牌id,name char(50) comment 品牌名,logo varchar(2000) comment 品牌logo地址,descript longtext comment 介绍,sh…

使用ReentrantLock中的条件变量让多个线程顺序执行

一. 前言 近日壹哥的一个学生在参加某公司校招面试时&#xff0c;遇到一个多个线程顺序执行的面试题&#xff0c;特意记录下来和大家分享一下&#xff0c;这个题目的具体要求是这样的&#xff1a; 假设有3个线程 a,b,c&#xff0c;要求三个线程一起进入到就绪态&#xff0c;执…

【LeetCode】775. 全局倒置与局部倒置

题目描述 给你一个长度为 n 的整数数组 nums &#xff0c;表示由范围 [0, n - 1] 内所有整数组成的一个排列。 全局倒置 的数目等于满足下述条件不同下标对 (i, j) 的数目&#xff1a; 0 < i < j < n nums[i] > nums[j] 局部倒置 的数目等于满足下述条件的下标 i 的…

01-Linux

1 初识Linux 在前面的课程中&#xff0c;我们无论是开发、测试。部署、存储都在Windwos操作系统的环境中&#xff0c;从今天开始我们一起学习下Linux,Linux系统和Windows系统最大的区别就是图形化界面操作和用途上有所差异&#xff0c;除了这两点&#xff0c;两者有异曲同工之…

跑通官方的yolov7-tiny实验记录(yolov7-tiny可作为yolov5s的对比实验网络)

目录1. 一些可用的参考链接2. 开始训练yolov72.1 --weights2.2 --cfg2.3 --data2.4 --hyp2.5 --epochs2.6 --batch-size2.7 --workers2.8 --name1. 一些可用的参考链接 官方YOLOv7 项目地址&#xff1a;https://github.com/WongKinYiu/yolov7如果想设置早停机制&#xff0c;可…

2022年TI杯模拟电⼦系统设计专题邀请赛——李萨如图形演示装置

任务 设计并实现李萨如&#xff08;Lissajous&#xff09;图形演示装置&#xff0c;如图 1 所示。输入正弦信号作为 x 轴信号&#xff0c;其峰峰值 2V&#xff0c;频率 1.5kHz~2kHz&#xff1b;对输入的正弦信号进行幅度和频率变换后产生 y 轴信号&#xff1b;装置显示器上显示…

CentOS7 离线安装 Python

目录1.前言2.下载Python及依赖环境&#xff08;1&#xff09;下载Python源码&#xff08;2&#xff09;下载Python依赖文件&#xff08;3&#xff09;下载gcc环境文件&#xff08;备用&#xff09;3.上传至离线服务器&#xff08;1&#xff09;核对已下载离线文件&#xff08;2…

基于PSO粒子群优化的汽车刹车稳定性数据matlab仿真与分析

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 刹车类别A 温度1 测试1 测试2 ....... 测试n 温度3 测试1 测试2 ....... 测试n ....... ....... 温度N 测试1 …

Java语言的过滤数据流

过滤数据流 为了解决不同数据流之间速度、数据格式差异的问题&#xff0c;以便提高输入/输出操作的效率&#xff08;特别是当需要大量的输入、输出操作的程序时&#xff09;&#xff0c;因此&#xff0c;Java贴心的提供了过滤流。 在已存在的数据流的基础上&#xff0c;过滤数…

IntelliJ IDEA

特色功能 IDEA所提倡的是智能编码&#xff0c;是减少程序员的工作&#xff0c;IDEA的特色功能有以下22点[1] &#xff1a; ● 智能的选取 在很多时候我们要选取某个方法&#xff0c;或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取&#xff0c;IDEA就提供这种基于…

数据治理:数据标准的6大建设步骤及实施分享

“车同轨、书同文”&#xff0c;数字化时代&#xff0c;数据标准化是企业进行数字化转型的根基。数据标准与企业数据管理的每个域都相关&#xff0c;是数据治理工作的最基础内容。 元数据管理中&#xff0c;需要从业务属性、技术属性、管理属性三个方面定义数据标准&#xff1b…

第54篇-某网易易盾滑块请求data参数分析【2022-11-16】

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、流程分析三、data参数1.d值2.p值3.ext值一、前言 在很久以前我们使用selenium+OpenCV模拟过一次易盾盾滑块…

学习大数据之后可以做什么?未来发展怎么样?

当下&#xff0c;有很多小伙伴看中了大数据开发的前景&#xff0c;从而选择了学习大数据的行列当中来&#xff0c;只能说&#xff0c;坚持你的选择没有错~ 当下来看&#xff0c;可以说大数据是一种宝贵的战略资源&#xff0c;其潜在价值和增长速度正在改变着人类的工作、生活和…

人人开源搭建后台管理系统 逆向工程生成CRUD代码

一、什么是人人开源 也就是说和若依类似&#xff0c;都是快速帮我们开发一些简单的逻辑代码的&#xff0c;可以帮我们自动生成代码。 二、具体操作 我们现在就以renren-fast作为后台管理系统框架&#xff0c;用renren-fast-vue作为前端系统框架进行开发项目 具体操作如下所示&a…

做好一个BI项目的关键是什么

做好一个BI项目的关键是什么&#xff1f;有人会说&#xff0c;那肯定是报表&#xff0c;报表是数据分析最直接的成果展示&#xff0c;好的报表能够帮助企业从各种纷杂的信息中及时地发现关键有效的信息&#xff0c;从而为决策提供支持。诚然&#xff0c;报表很重要&#xff0c;…

SPI通信协议

目录一、什么是SPI协议二、SPI物理层三、SPI协议层一、什么是SPI协议 SPI&#xff08;Serial Peripheral Interface&#xff0c;串行外围设备接口&#xff09;通讯协议&#xff0c;是 Motorola 公司提出的一种同步串行接口技术&#xff0c;是一种高速、全双工、同步通信总线&a…

【PTA-训练day7】L2-019 悄悄关注 + L1-027 出租

L2-019 悄悄关注 - 哈希表 PTA | 程序设计类实验辅助教学平台 1、java - 喜闻乐见超时 import java.util.*;public class Main {public static void main(String[] args){Scanner scnew Scanner(System.in);int nsc.nextInt();String[] namesc.nextLine().split(" "…

Centos7.6 源码编译部署percona mysql 5.7.39-42

Centos7.6 源码编译部署percona mysql 5.7.39-42 参考链接&#xff1a; mysql5.7.35源码编译安装部署CentOS7 编译安装 Percona Server 5.7percona Server for MySQL 5.7源码安装 一、部署环境准备 更换阿里云yum源 cd /etc/yum.repos.d/ mkdir bak && mv *.repo ba…

[附源码]java毕业设计江苏策腾智能科技公司人事管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…