X、Y、および Z の 3 つの同時プロセスは、特定の共有変数にアクセスして更新する 3 つの異なるコード セグメントを実行します。プロセス X は、セマフォ a、b、および c で P 操作 (つまり、待機) を実行します。プロセス Y は、セマフォ b、c、および d に対して P 操作を実行します。プロセス Z は、それぞれのコード セグメントに入る前に、セマフォ c、d、および a に対して P 操作を実行します。コード セグメントの実行が完了すると、各プロセスは 3 つのセマフォで V 操作 (つまり、シグナル) を呼び出します。すべてのセマフォは、1 に初期化されたバイナリ セマフォです。
次のうち、プロセスによって P 操作を呼び出すデッドロックのない順序を表すものはどれですか?
(A) X:P(a)P(b)P(c) 、Y:P(b)P(c)P(d) 、Z:P(c)P(d)P(a)
(B) X:P(b)P(a)P(c) , Y:P(b)P(c)P(d) , Z:P(a)P(c)P(d)
(C) X:P(b)P(a)P(c) 、Y:P(c)P(b)P(d) 、Z:P(a)P(c)P(d)
(D) X:P(a)P(b)P(c) , Y:P(c)P(b)P(d) , Z:P(c)P(d)P(a)
誰でも答えを説明してもらえますか?