OSとハードウェア
プロセスのコンテキストスイッチが、レジスタの保存と復元にかかる時間よりも、実際には大きな性能の低下を招くことがある主な理由はどれか。
- A切り替えのたびに、CPUのクロック周波数が下がるから
- B切り替えのたびに、プログラムをディスクから読み直すから
- C切り替え後、キャッシュやTLBのミスが増えるから
答えと解説を見る
正解:C. 切り替え後、キャッシュやTLBのミスが増えるから
レジスタの保存と復元そのものは短時間で済みますが、切り替えたあとのプロセスにとって、キャッシュやTLBの中身は前のプロセスのもので、必要なデータや変換結果を読み込み直すまでミスが続きます。ASIDのないCPUでは、アドレス空間を切り替えるときにTLBを空にする必要もあります。この間接的なコストが、直接の切り替え時間より大きくなることがあります。クロックが下がったり、プログラムをディスクから読み直したりはしません。
- A. 切り替えでクロック周波数が下がるわけではありません。
- B. プログラムはメモリにあり、読み直しません。
- C. 正しい。キャッシュやTLBのミスが増える間接的なコストです。