避免死鎖


資源分配圖是系統狀態的圖形表示。 顧名思義,資源分配圖是關於持有一些資源或等待某些資源的所有進程的完整資訊。

它還包含有關所有資源的所有範例的資訊,無論這些資源是否可用或正在被進程使用。

在資源分配圖中,進程由圓形表示,而資源由矩形表示。 我們來詳細看看頂點和邊的型別。

頂點主要有兩種型別,資源和過程。 它們中的每一個將以不同的形狀表示。 Circle代表進程,而矩形代表資源。

一個資源可以有多個範例。 每個範例將由矩形內的一個點表示。

RAG中的邊也有兩種型別,一種代表分配,另一種代表資源進程的等待。 上面的圖片顯示了每一個邊。

如果箭頭的尾部附加到資源的範例並且頭部連線到進程,則將資源顯示為分配給進程。

如果在頭指向資源時將箭頭的尾部連線到進程,則會顯示進程等待資源。

範例

我們考慮有3個進程:P1,P2和P3以及兩種資源R1和R2。 每個資源都有1個範例。

根據圖表,R1正在被P1使用,P2正在保持R2並等待R1,P3正在等待R1以及R2。

由於圖中沒有形成迴圈,因此該圖是無死鎖的。