コンテキストスイッチとは

コンテキスト切り替えは、コンピュータのCPUがあるプロセスまたはスレッドから別のプロセスまたはスレッドに切り替わったときに発生します。

コンテキスト切り替えは、追加のプロセッサを必要とせずに1つのCPUが多数のプロセスまたはスレッドを処理することを可能にします。 マルチタスクを可能にするオペレーティングシステムはすべて、異なるプロセスを同時に実行できるようにするためにコンテキストスイッチングを使用することに大きく依存しています。 以下に示すように、通常、コンテキストの切り替えが必要な状況は3つあります。

  • マルチタスク - CPUがメモリ内外でプロセスを切り替える必要があるときに、複数のプロセスを実行できるようにします。
  • カーネル/ユーザー切り替え - ユーザーモードをカーネルモードに切り替えるときに使用されます(ただし必ずしも必要ではありません)。
  • 割り込み - ディスク読み取りからデータを返すためにCPUが割り込みを受けたとき。

CPUの用語