クラスでは、プリエンプションなど、スケジューリングで使用されるさまざまなアルゴリズムについて学習していました。コンテキストを切り替える際のオーバーヘッドが懸念事項であるかどうかを誰かが尋ねたところ、教授はそれは常に無視できると述べました。これは本当ですか?ウィキペディアによると、コンテキスト切り替えが発生した場合、「プロセスの状態には、プロセスが使用している可能性のあるすべてのレジスタが含まれます...さらに、必要になる可能性のあるその他のオペレーティングシステム固有のデータが含まれます」したがって、基本的にすべてをメモリに保存する必要があります。私は無視できるとは思いませんか?
コンテキストの切り替えにかかる時間を考慮に入れるアルゴリズム/実装はありますか? たとえば、10 ミリ秒のタスクが実行されているが、8 ミリ秒かかる新しいタスクがキューに入った場合、余分なコンテキストが 10 ミリ秒に戻るため、スケジューラーは「それを忘れてください」と言うでしょうか?