カーネルモード【kernel mode】特権モード
別名 :privileged mode/スーパーバイザモード/supervisor mode
カーネルモードとは?
CPUの実行モードの一つで、オペレーティングシステム(OS)の中核部であるカーネルを動作させるためのもの。特権的な実行状態であり、ハードウェアやシステムリソースに直接アクセスできる。

現代のCPUでは、プログラムの実行環境を「カーネルモード」と「ユーザーモード」の二つの階層に分けている。Webブラウザや表計算ソフトといった一般的なアプリケーションはユーザーモードで動作し、メモリの保護領域や入出力装置への直接アクセスは制限される。カーネルモードではこうした制限が取り払われ、CPUが持つすべての命令を実行でき、全メモリ領域の読み書きも許可される。
この分離が設けられている理由は、システムの安定性と安全性を守るためである。もしすべてのアプリケーションがハードウェアに無制限にアクセスできれば、バグや悪意あるコードがOS全体を破壊しかねない。モードを分離することで、アプリケーションの誤作動が他のプロセスやシステム全体に波及しにくい構造となる。
アプリケーションがファイルの読み書きやネットワーク通信、画面への出力などを必要とする場合、直接ハードウェアを操作するのではなく、「システムコール」と呼ばれる手続きを通じてカーネルに処理を依頼する。この呼び出しが発生すると、CPUはユーザーモードからカーネルモードへ切り替わり、カーネルが代わりに処理を実行した後、再びユーザーモードへ戻る。このモード遷移には若干の切り替え時間(オーバーヘッド)が伴う。
プロセスのスケジューリング、仮想メモリの管理、デバイスドライバの実行なども、カーネルモードで行われる処理である。カーネルモードで動作するプログラムに欠陥があれば、OSそのものが制御不能に陥り、システム全体が停止する深刻な障害につながるため、カーネルやデバイスドライバなどの設計や実装、テストは入念に行われる。