死锁的介绍

一、相关概念

1.死锁:互相等待对方手中资源,各进程都阻塞,无法向前推进的现象

2.饥饿:由于长期得不到想要的资源,导致某进程无法向前推进的现象

3.死循环:某进程一直执行某个循环的

二、产生条件

1.互斥条件:对必须互斥使用的资源进行争抢

2.不可剥夺条件:进程获得的资源在未使用完前,不能被其它进程强行夺走,只能主动释放

3.请求和保持条件:在已保持至少一个资源的同时,又去请求其它资源。

4.循环等待条件:进程资源的循环等待链-链中每个进程已获得的资源同时被下一个进程所请求。

注:发生死锁时一定有循环等待,但发生循环等待时未必死锁。

三、发生时机

1.对系统临界资源/不可剥夺的资源的竞争

2.进程推进顺序非法。

3.信号量的使用不当。

对不可剥夺资源的不合理分配,可能导致死锁

四、处理策略

1.预防死锁:破坏死锁产生的必要条件

2.避免死锁:用算法防止系统进入不安全状态

3.死锁的检测和解除:允许死锁发生,OS检测死锁发生并采取措施解除死锁。

你可能感兴趣的:(操作系统学习,笔记)