• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

01bmlh4gbp52707.png

死锁3360

在并发环境下,各个进程都在争夺资源,导致了各个进程被阻塞,无法前进的现象。如果死锁后没有外界干扰,这些进程将无法前进。

死锁-饥饿-无限循环

死锁(Deadlock):每个进程都在等待对方手中的资源,导致每个进程都被阻塞,无法前进的现象。

饥饿:一个过程由于长期缺乏所需资源而无法向前推进的现象。

死循环:进程始终无法跳出循环的现象。有时候是程序逻辑bug造成的,有时候是程序员故意设计的。

差异:

死锁一定是“循环等待对方手里的资源”造成的,所以如果出现死锁,至少是两个或两个以上的进程同时死锁。此外,必须阻塞死锁进程。

只有一个进程可能是饥饿的。饥饿进程可能是阻塞的(比如长期缺少所需设备),也可能是就绪的(长期缺少处理器)。

只有一个进程可能有无限循环。死进程可以在处理器上运行(可以正在运行),只是不能像预期的那样顺利推进。死锁和饥饿是由操作系统不合理的资源分配策略造成的,而死循环是由代码逻辑错误造成的。死锁和饥饿是管理器(操作系统)的问题,而无限循环是被管理器的问题。

死锁的必要条件:

互斥条件:

对必须互斥的资源的竞争会导致死锁。

非剥夺条件:

进程保留的资源只能自愿释放,不能强行剥夺。

请求和保持条件:

在保留部分资源的同时,要求其他资源。

循环等待条件:

流程资源有一个循环的等待链。

循环等待不一定是死锁,死锁一定有循环等待。

僵局:不可剥夺资源的不合理分配

1.争夺系统资源。进程间对不可剥夺资源(如打印机)的竞争可能会导致死锁,但对可利用资源(CPU)的竞争不会。

2.进度订单不合法。请求和释放资源的顺序不当也会导致死锁。

3.信号量使用不当也会导致死锁。

死锁处理策略:

1.防止死锁。打破死锁四个必要条件中的一个或几个。

2.避免僵局。使用某种方法防止系统进入不安全状态,从而避免死锁(银行家算法)

3.死锁检测和释放。死锁是允许的,但是操作系统将负责检测死锁,然后采取一些措施来消除它。

qmialk1k3rn2708.png

g2aqjlyw1sz2709.png

qjthry0eif42710.png

ag5pkku3gpz2711.png

vrj1matxlgc2712.png

ttdf3hzq3eb2713.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now