操作系统复习笔记--第六、七章 进程同步与死锁

6章进程同步

1. 临界区:一段可能对某个共享的数据进行修改的一段代码

2. 解决临界区必须要满足的三项要求

(1互斥当有一个进程在临界区内执行的时候,任何其他的进程都不可以再进入临界区执行

  1. 前进:空闲让进。
  2. 有限等待:要控制进程从做出进入临界区选择到请求被允许的过程中,其他进程被允许进入该临界区的次数(避免进程等待时间过长)

3. 信号量信号量是一个整型值,>=0表示系统中当前某类资源的可用数目,<0表示系统中等待该资源的进程数。它的值只能由 PV原语操作所改变。

剩下的看书

 

第7章死锁

1. 死锁产生的四个必要条件:(4个条件同时满足会引起死锁)

A. 互斥,B. 占有并等待,C.非抢占,D.循环等待

2.   如果分配图无环,那么系统就没有进程死锁,如果有环,那么可能存在死锁(每个资源刚好有一个实例,那么有环就意味着已经出现死锁。如果环涉及一组资源类型,而每个类型只有一个实例,那么出现死锁。环所涉及的进程就死锁。此情况下环是死锁存在的充分必要条件。

如果每个资源类型有多个实例,那么有环并不意味着已经出现死锁。此情况下环是死锁的必要不充分条件。)

3.死锁的处理方法

(1可以用协议以预防或避免死锁

(2可允许系统进入死锁状态,然后检测它,并加以回复

(3忽视这个问题,认为死锁不会发生

4. 死锁预防

(1对非共享资源,必须要有互斥条件

(2当一个进程申请一个资源时,它不能沾有其他资源

(3如果占有资源并申请另一个不能立即分配的资源,那么现已分配的资源都可被抢占

(4对所有资源类型进行完全排序,且要求每个进程按递增顺序来申请资源当进程申请某个资源,他必须释放掉所有较低序号的资源。

:以上四条分别对应死锁的四个产生条件

副作用:低设备使用率和系统吞吐率

5. 死锁避免:

如果系统能按某个顺序为每个进程分配资源并能避免死锁,那么系统状态就是安全的,如果没有这样的顺序存在,那么系统状态就处于不安全状态。

关系安全状态不是死锁状态,死锁状态是安全状态,不是所有不安全状态都能导致死锁状态。

6. 银行家算法: 看书重点

死锁避免是根据防止系统进入不安全状态实现的

静待资源分配破坏了占有并等待条件

资资源的按序分配可以破坏循环等待条件

银行家算法是一种死锁预防算法

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值