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


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

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


    操作系统:进程同步

    在这里插入图片描述
    在这里插入图片描述
    打印机,变量共享的那种,叫临界资源
    在这里插入图片描述
    了解
    在这里插入图片描述
    一个维护英雄
    以维护防御塔
    相互制约,相互合作
    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,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

  • 相关阅读:
    【Java小白福利】Java面试、学习教程合集!
    基于JavaEE的大学生公寓管理系统
    linux环境修改配置文件
    7、索引优化分析
    化妆品展示网页设计作业 静态HTML化妆品网站 DW美妆网站模板下载 大学生简单网页作品代码 个人网页制作 学生个人网页设计作业
    图解LeetCode——998. 最大二叉树 II(难度:中等)
    前后端分离技术架构模式演变
    vue日历插件vue-full-calendar
    卡尔曼滤波(Kalman Filter)C#测试
    代码随想录算法训练营19期第60天
  • 原文地址:https://blog.csdn.net/weixin_46838716/article/details/127880784