lg课堂夺命问答7

一、死锁基本原理

1.死锁的概念

两个以上的进程,处于一个等待另一个释放临界区或产生数据,不幸的是另一个也在等待,造成进程无法执行

活锁:进程可以改变状态,有可能避免死锁,但不一定能避免。

饥饿:进程已经具备了执行条件,但由于某种情况,永远得不到资源,处于等待状态。

2.死锁与饥饿关系:共同:等待资源,造成进程阻塞

不同:对于饥饿,可以是一个进程(低优先级的进程前面永远有高)对于死锁是两个以上的进程;饥饿包含死锁

3.可重用资源:资源在一个进程执行完后不会改变(如被打印的文件,cpu等)

1)一次只被一个进程使用

2)释放后其他进程可用

3)当每个进程拥有某个资源再请求其他资源时会发生死锁

可消费资源   概念:1)进程动态产生,数目可以无限多 2)被进程消费后不存在 

特点:1)死锁很少产生,但很少的事件组合也可能产生死锁

4.资源分配图:三个元素:圆(进程),框(资源,里面的圆点是资源数目),有向边

5.死锁的四个条件:必要条件1)互斥mutual exclusion:

Only one process may use a resourceat a time
2)占有且等待 :
A process may hold allocatedresources while awaiting assignment of others
3)非抢占no preemption:
No resource can be forciblyremoved( 强行抢占 )form a process holding it

充要条件:循环等待:

A closed chain of processes exists( 封闭进程链 ), such that each process holds at leastone resource needed by the next process in the chain

解决死锁:允许死锁 & 不允许死锁

允许死锁:静态&动态   不允许死锁:静态&动态 

二、死锁解决办法

允许死锁(静):1.鸵鸟算法:当死锁真正发生且影响系统正常运行时,手动干预—重新启动。

允许死锁(动):1.死锁检测(动) 2.死锁解除

不允许死锁

1.死锁预防(静):

1.1消除互斥1)无限增加资源 2)共享资源,不是临界资源,但会造成条件竞争

1.2消除占有和等待的条件 :1)一次性请求所有资源,但造成资源浪费 2)释放,进程前期工作浪费 

1.3消除非抢占:资源状态易于保存

1.4消除环形等待:资源线性顺序(缺点是没有考虑到进程的需要)


2.死锁避免 (动)                                                                                                                                             

概念:在分配资源之前,操作系统仔细地计算,如果觉得可能会造成死锁,就不允许这个资源分配

两种方式:

①进程启动时,新的进程要启动,操作系统去计算启动新的进程是否会引发死锁

进程启动拒绝:新的进程启动,操作系统计算是否会引发死锁  

资源总量表:记录计算机系统实际拥有资源的情况

资源可用向量:m个资源中可用的

资源的最大需求矩阵:每一行是一个进程,列是该进程对j个资源的最大需求量

分配矩阵:行是进程,每一类资源给进程分配多少

关系:1)

2)银行家算法

②进程增加时 的(起源于银行家算法)已经执行的进程,产生新的资源请求,操作系统去计算这个资源请求是否会造成死锁。

状态:资源分配情况

安全状态: 能找到一组让所有进程都执行的顺序

不安全的状态:找不到

问题:1)需要知道进程最大需求   2)未考虑同步问题  3)未考虑可消耗资源(考虑的是可重用资源)  4)禁止满足条件的进程执行  5)时间复杂度   O^3                      


1)进程启动拒绝:新的进程启动,操作系统计算是否会引发死锁  

资源总量表:记录计算机系统实际拥有资源的情况

资源可用向量:m个资源中可用的

资源的最大需求矩阵:每一行是一个进程,列是该进程对j个资源的最大需求量

分配矩阵:行是进程,每一类资源给进程分配多少

关系:1)

2)银行家算法:

状态:资源分配情况

安全状态: 能找到一组让所有进程都执行的顺序

不安全的状态:找不到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值