プロセスコンテキスト
 カーネルの割込み

 プロセスコンテキスト(ユーザコンテキスト)同士の排他処理(クリテカルセクション保護)
 ・セマフォ
複数のプロセスが同一資源操作時
読み書きセマフォ
ある一つの資源に対して、複数のプロセスが同時に参照アクセスできる。
更新アクセスのみブロック
 ・2.6で、カーネルコード実行中のプリエンプションが可能
CPUに依存する資源の排他が必要な場合は、明示的にプリエンプション禁止にする。

 カーネルの割込みコンテキストでのクリテカルセクション保護
 ・セマフォは使えない
スリープさせられない
 ・シングルプロセッサでのクリティカルセクションのの保護
CPUへ直接、プロセッサへの割込み禁止の指示を出す。
禁止時間は短くする。
クリテカルセクションのコードを短く
 ・マルチプロセッサ(HT及びデュアルコアCPU)でのクリティカルセクションの保護
他にもCPUがあるため、「CPUへ直接、プロセッサへの割込禁止の指示」は効果が無い。
スピンロック仕様
用意された変数に「1」を立てれば、クリテカルセクションへ入れる。(ロック獲得)
ロック獲得失敗時、ビジーウェイト
CPUの使用率をフルに取る。
ビジーウェイト中「NOP命令」が挿入
Pentium4 のHT技術対応
ビジーウェイトで、もう一つの論理CPUがストールする仕様
クリテカルセクションのコードを短く
スピンロック獲得前に、ローカルプロセッサからの割込みを禁止
スピンロック獲得時にローカルプロセッサから割り込むと、
ビジーウェイトでデッドロック(ストール)