これまでの連載で,Linuxカーネルの基本機能についてひと通り解説しました。しかし最近のUNIXカーネルは,ここまで紹介した基本機能に加えてさまざまな機能を装備しています。Linuxカーネルも例外ではなく,さまざまな分野で利用されるにつれ,多くの機能が実装されてきました。例えば,カーネルの機能を動的に(動作させたまま)拡張するモジュール機構や,それらのモジュールを自動的に導入するhotplug機構,そして電源管理などを行う APM/ACPI機構などです。 今回はこうした機能のうち,地味ですがとても重要な排他制御機構に関して解説します。 排他制御はなぜ必要か Linuxは,マルチユーザー/マルチタスクのOSです。つまり,複数のユーザーが同時に複数のプログラム(プロセス)を実行できます。この機能は,以前に解説したように,プロセッサで実行するプロセスを細かく切り替える仕組みにより実現されています