操作系统4小时速成:进程同步,临界资源,互斥,信号量的作用,死锁产生的四个条件,安全状态,银行家算法
2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
操作系统系列文章:
【1】操作系统4小时速成:操作系统的基本概念,它是系统软件,管理处理机、存储器、io设备、文件,并发和共享是最基本特征,还有虚拟和异步
【2】操作系统4小时速成:操作系统发展和分类,运行环境:运行机制和内核,用户态非特权,核心态特权,中断技术,访管指令
【3】操作系统4小时速成:进程管理占考试40%,进程状态,组织,通信,线程拥有调度,进程拥有资源,进程和线程的区别
【4】操作系统4小时速成:处理机调度,调度方法,调度准则,典型的调度算法,响应比
文章目录
- 操作系统4小时速成:进程同步,临界资源,互斥,信号量的作用,死锁产生的四个条件,安全状态,银行家算法
- @[TOC](文章目录)
- 操作系统:进程同步
- 实现临界区互斥的方法,尤其是中断屏蔽法
- 信号量,常考,很强大
- 死锁:考察频率极其高
- 总结
文章目录
- 操作系统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,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。