リアルタイムオペレーティングシステム
シングルプロセッサシステムでは、アプリケーションをカーネルモードで実行して割り込みマスクの制御も可能なら、共有リソースへの同時アクセスを防ぐ方法としてはそれが最も効率的(オーバヘッドが小さい)である。割り込みがマスクされていると、実行中タスクはCPUを独占することができ、他のタスクや割り込みが制御を奪うことはできない。そのためクリティカルセクションは効率的に保護される。タスクがクリティカルセクションを抜けたとき、割り込みマスクが解除され、保留されていた割り込みがあれば、その処理が実行される。割り込みマスクは、クリティカルセクションの期間が割り込み処理遅延時間の要求指標を守る範囲内でなければならない。一般にこの方法はクリティカルセクションがソースコードでほんの数行でループが含まれていない場合のみ適用される。ハードウェアのビットマップレジスタを複数のタスクが操作する場合、この方法による排他が理想的である。
クリティカルセクションがもっと長かったりループを含んでいる場合、セマフォやOS提供のプロセス間通信機能を使用しなければならない。そのような機能はシステムコールとして実装されているのが一般的で、完了時にOSのディスパッチ処理が実行される。そのため、割り込みマスクと比較すると非常に長時間を要する可能性がある。しかし、クリティカルセクションが長い場合、割り込み遅延時間の問題があるので選択の余地はない。
2値セマフォは、ロック状態かアンロック状態である。