From 9e04950eed03268ee5231f1d2c5fa5f377ebe41d Mon Sep 17 00:00:00 2001 From: luo <1127959736@qq.com> Date: Tue, 1 Mar 2022 16:38:17 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E6=93=8D=E4=BD=9C=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=B8=B8=E8=A7=81=E9=9D=A2=E8=AF=95=E9=A2=98=20&=20=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E7=82=B9=E6=80=BB=E7=BB=93.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../操作系统常见面试题&知识点总结.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/cs-basics/operating-system/操作系统常见面试题&知识点总结.md b/docs/cs-basics/operating-system/操作系统常见面试题&知识点总结.md index 17d65225..202f1570 100644 --- a/docs/cs-basics/operating-system/操作系统常见面试题&知识点总结.md +++ b/docs/cs-basics/operating-system/操作系统常见面试题&知识点总结.md @@ -213,6 +213,7 @@ tag: 图中2-21是**进程-资源分配图**的一个例子,其中公有三个资源类,每个进程的资源占有和申请情况已清楚地表示在图中。在这个例子中,由于存在**占有和等待资源的环路**,导致一组进程永远处于等待资源的状态,**发生了死锁**。 + 进程-资源分配图中存在环路**并不一定是**发生了死锁。因为循环等待资源仅仅是死锁发生的必要条件,而不是充分条件。图2-22便是一个有环路而无死锁的例子。虽然进程P1和进程P3分别占用了一个资源R1和一个资源R2,并且因为等待另一个资源R2和另一个资源R1形成了环路,但进程P2和进程P4分别占有了一个资源R1和一个资源R2,它们申请的资源得到了满足,在有限的时间里会归还资源,于是进程P1或P3都能获得另一个所需的资源,环路自动解除,系统也就不存在死锁状态了。