なぜコンテキストスイッチはコンピュータの性能に悪いのか？
あるプロセスがCPUによって一時停止され、別のプロセスが実行を開始したときに発生する「コンテキストスイッチ」は、いくつかの理由でコンピュータシステムの性能に影響を与えることがあるのだ。コンテキストを切り替える行為自体は、それほど時間を消費するものではありません。本当の意味でのパフォーマンスの低下は、異なるプロセスが異なる仮想メモリアドレス空間を持つことから、システム内のすべてのキャッシュを無効にしてフラッシュする必要があることに起因するのだ。メインメモリから命令やデータを取り出す速度と比較して、CPUの実行速度には大きな差があるため、これらのものはCPUの近くにあるオンボードキャッシュにキャッシュされるのだ。仮想アドレスと物理アドレスのマッピングへのポインタも、メモリアクセスが速くなるようにキャッシュされるのだ。新しいプロセスが、異なるアドレス空間と仮想アドレスと物理アドレスのマッピングを持つCPUによってロードされると、キャッシュ内のすべてのデータは無効となり、フラッシュする必要があるのだ。このため、CPUには空のキャッシュが残り、新しいプロセス用に一から作り直さなければなりません。つまり、命令やデータの取得は、CPUのキャッシュよりもはるかに遅いメインメモリから行うことになるため、大きな速度低下が発生するのだ。