mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
Update 操作系统常见面试题 & 知识点总结.md
This commit is contained in:
parent
1628e600ee
commit
9e04950eed
@ -213,6 +213,7 @@ tag:
|
||||
|
||||
图中2-21是**进程-资源分配图**的一个例子,其中公有三个资源类,每个进程的资源占有和申请情况已清楚地表示在图中。在这个例子中,由于存在**占有和等待资源的环路**,导致一组进程永远处于等待资源的状态,**发生了死锁**。
|
||||
|
||||
<img src="https://github.com/zhengjianda/JavaGuide/blob/main/docs/cs-basics/operating-system/images/%E8%BF%9B%E7%A8%8B-%E8%B5%84%E6%BA%90%E5%88%86%E9%85%8D%E5%9B%BE.jpg" height="300"></img>
|
||||
|
||||
|
||||
进程-资源分配图中存在环路**并不一定是**发生了死锁。因为循环等待资源仅仅是死锁发生的必要条件,而不是充分条件。图2-22便是一个有环路而无死锁的例子。虽然进程P1和进程P3分别占用了一个资源R1和一个资源R2,并且因为等待另一个资源R2和另一个资源R1形成了环路,但进程P2和进程P4分别占有了一个资源R1和一个资源R2,它们申请的资源得到了满足,在有限的时间里会归还资源,于是进程P1或P3都能获得另一个所需的资源,环路自动解除,系统也就不存在死锁状态了。
|
||||
|
Loading…
x
Reference in New Issue
Block a user