[操作系统]

来源:互联网 发布:centos 7 五笔输入法 编辑:程序博客网 时间:2024/05/29 12:28

死锁的规范定义是:如果一个进程集合中的每个进程都在等待只能由改进成几何中的其它集合才能引发的事件(释放某些资源),那么该集合就是死锁的。

死锁的四个必要条件是:

1.互斥条件:每个资源要么已经分配给一个进程,要么就是可用的

2.占有和等待:已经得到了某个资源的进程可以申请其他资源

3.不可抢占条件:一个已经被占有的资源不可以被其他资源抢占,只能由占有该资源的其他资源显式释放

4.环路等待:死锁发生时,系统中一定由两个或者两个以上的进程组成了一个环,该环路中每个进程都在等待下一个进程释放资源

所以,通俗的说,死锁进程形成了一个环,每个进程都占有了一些资源同时希望得到其他进程的一些资源来运行。当死锁发生时,所有的进程由于缺少资源就会进入阻塞状态。


活锁:我们先看一个例子


如图所示,A,B采用互斥信号量的方式访问临界资源,假设某一时刻A对资源1的信号量resource_1访问成功,即将访问资源2的信号量resource_2,;B对资源2的信号量resource_2访问成功,即将访问资源1的信号量resource_1。就形成了一个环,这个环中A希望访问2,但是由于信号量resource_2 = 0所以进入等待队列(非阻塞态),B希望访问1,但是由于信号量resource_1 = 0所以进入等待队列(非阻塞态),所以A,B一直在消耗CPU而没有继续进行后续的操作,但是这是死锁么?不是的。死锁是进程占有了资源,在缺少资源的时候进入阻塞态。但是上述A,B均没有进入阻塞态,但从现象上看好像是死锁发生了。我们称这种现象为活锁。


饥饿:当一个进程一直无法得到自己的资源而一直无法进行后续的操作时(不一定是阻塞),我们称这个进程会饥饿而死。显然,死锁和活锁都会饥饿。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 山东省教育云平台密码戳完怎么办 被舍友知道发朋友圈说她们了怎么办 苍蝇药水进眼里了眼睛疼怎么办 三十六周了胎儿还没有入骨盆怎么办 怀孕40周了宝宝还没反应怎么办 程序员不知道自己犯法了怎么办啊 大学档案学年测评有涂改痕迹怎么办 驼背怎么办要能快速矫正的方法 手臂往后扭后手臂根部疼又肿怎么办 一岁四个月宝宝有点斜颈怎么办? 六个月的宝宝脖子有点歪怎么办 情感交叉擦腿综合症心里治疗怎么办 坐月子受风了胳膊腿疼怎么办 劲椎手术两个月双腿疼痛麻这怎么办 手机里存的照片删除了怎么办 买了好几双鞋子都不防滑怎么办 电脑平车车加绒过厚不起线怎么办 碰见那种看不起人的店员应该怎么办 在食品厂上班載卫生帽头发痒怎么办 工司没给员工上保险离职后怎么办 货物被香港律政司扣了怎么办 室友考研要跟我考一样的学校怎么办 药流第一天才吃了一粒米非司怎么办 药流半月同房第二天大出血怎么办 口臭想让它变得不臭怎么办 来单位干了几天不满意想离职怎么办 药流吃药期间吃什么吐什么怎么办 养狗家里味道大怎么办养花有用吗 第一天上班站的脚疼怎么办 入职没有人事所需要的证书怎么办 入职第一天后不想去了怎么办 警察在执法过程中殴打群众怎么办 肾结石打了3天针痛得厉害怎么办 征兵体检过了到部队退兵怎么办 圆通快递要求退回结果被签收怎么办 新生儿蛋蛋淹了破皮了怎么办 要是和同学玩的时候打到睾丸怎么办 睾丸撞了一下里面碎了怎么办 睾丸被蚊子咬了挠坏流水疼怎么办 沐浴乳大量的灌注到尿道里怎么办 当电脑显示有文件损害时怎么办?