2012-04-29 9 views
2

プロセス間のコンテキスト切り替え(一定時間)またはコンテキスト切り替え時間は、プロセスごとに異なるさまざまなローカルファクタ(プロセスサイズ、スタックサイズなど)に依存します。 ?コンテキストスイッチTIme

EDIT: OSとハードウェアが固定されていると仮定すると、指定されたOSとハードウェアで同じ時間になります。環境?

+0

これは 'or'と組み合わせることができない2つの異なる質問です。 –

+0

また、 'quantum'はOSスケジューリングについての議論に入らない単語です。スレッドは、いくつかの離散区間のセットに対してのみ実行できることを強く示唆しています。ほとんどのOSは、60年代後半以降、そのように機能していません。 –

+0

私はこの声明を編集しました。 –

答えて

1

ハードウェアとOS /プロセスによって異なります:(異なるプロセスのスレッドを実行するには、メモリ管理コンテキスト、浮動小数点コンテキストなどを交換する必要があります。 。

ドライバは、彼らが彼らのハードウェアを処理し、スレッドが実行されるべきであるOSを通知するために要する時間が大きく異なり - 。そのためには、他の合併症だ

をいくつかのケースでは、このようなスワップのプリエンプションが必要な場合がありますスワップを開始したハードウェア/ソフトウェア割り込みを受信したコアとは別のコアで実行中のスレッド。同じプロセッサ上でコンテキストをスワップするよりも時間がかかります。

これについて平均的な数字を思いつくのは難しいです。プロセス間スレッドスワップを開始したドライバ割り込み、またはドライバからのスケジューラへのエントリから、どこから時間をとれますか?

したがって、全体的には時間がかかりますが、それは変わる可能性があります。

+0

Givenハードウェアと特定のOSで...それは一定になりますか?......... hwdとOSが固定されている場合、切り替えの時間は一定であるべきですか? –

+0

いいえ、デスクトップOSではありません。スケジューラを介してスワップを要求した割り込みを処理しているコアとは異なるコアで実行されている場合、コアを使用して他のスレッドを実行しているコアを停止させてコアを実行できるようにするためには高価なスレッド間通信を使用する必要があります新しく準備されたスレッド。 –

+0

があり、シングルコアの場合は時間は同じですか?高価な通信がないので。 –