スケジューリングスキーム:プリエンプティブ優先スケジューリングこれは、ライブロックまたはデッドロックまたは飢餓の例ですか?
状況:
プロセスL(低優先度)リソース(R)上でスピンロックを取得します。クリティカルセクションにまだある間に、Lは別のプロセスH(Higher Priority)がレディキューに到着したためにプリエンプトされます。 。
しかし、HもリソースRにアクセスする必要があるため、スピンロックを取得して、Hがビジー状態になるようにします。スピンロックが使用されるため、Hは実際にはWaitには入らず、常に実行状態またはReady状態(優先順位がさらに高いプロセスがレディキューに到着した場合)になります。
A)Hが飢餓
Bの下にあると考えることができるよりも優先度)を持つすべてのプロセスは、H未満並びにプロセスH優先度を持つすべてのプロセスは、デッドロックであると考えることができます。 [しかし、システムがデッドロック状態にあるとみなされるためには、プロセスは待機状態でなければならないのですか?]
C)プロセスHだけでなくH未満の優先度を持つすべてのプロセスは、 [しかし、Hの状態だけが常に変化し、すべての優先度の低いプロセスはReady状態に留まります。システムがライブロックの場合、すべてのプロセスの状態を(スピンロックの一部として)継続的に変更する必要はありませんか?]
D)単独ではライブロックとみなすことができます。飢餓ではなく、生き方ではない。
E)Hは進行しませんが、ライブロックにあるとはみなされません。すべての優先度の低いプロセスは、ライブロックではなく、飢餓の直前にあります。
上記のうちどれが正しいですか?説明できますか?