排他制御(はいたせいぎょ)とは、コンピュータの動作において、複数の
プロセスが利用出来る共有資源に対し、複数の
プロセスからの同時
アクセスにより競合が発生する場合に、ある
プロセスに資源を独占的に利用させている間は、他の
プロセスが利用できないようにする事で整合性を保つ処理の事をいう。相互排除()ともいう。最大k個の
プロセスが共有資源に
アクセスして良い場合を k-相互排除という。
排他制御を
行う場合にはアトミック性が重要となる。
プロセスがある資源を占有しようとする時には、以下の操作を
行う必要があるが、これらの途中で他の
プロセスに実
行が移
行すると整合性を保つ事が出来ない。
- 資源が他のプロセスによって占有されていない事を確認する。
- 資源を占有する。
アトミック性を確保するために後述するような各種の
実装方法が利用される。
クリティカルセクションでは、
排他制御を必要とする。