「オペレーティング システムの概念」(ご存知の方向け) でセマフォについて読んでいますが、この一節を読むまではセマフォを完全に理解していると思っていました。
セマフォの重要な側面は、それらがアトミックに実行されることです。2 つのプロセスが同じセマフォで同時に待機操作とシグナル操作を実行できないことを保証する必要があります。
また:
ハードウェアが特別なアトミック命令を提供しない場合は、クリティカル セクションの問題に対して任意のソフトウェア ソリューションを使用できます。ここで、クリティカル セクションは待機手順と信号手順で構成されます。
Signal
この文章は、Wait
操作はアトミックでなければならないという面を指しています。セマフォの全体的な目的は、クリティカル セクションで常に 1 つのプロセスのみを許可することだと思いました。別のアルゴリズム (ベーカリー アルゴリズムなど) を使用する必要がある場合、なぜセマフォも必要なのですか?
私の質問が紛らわしいかもしれません。もしそうなら、それは私にはまだ主題が漠然としているだけなので、質問することさえ少し難しいです.
説明を読んでみたい...