2

そこで質問です。プロセスのスケジューリングについて勉強しているときに、一見矛盾しているように見える 2 つの例に出くわしました。

たとえば、次に実行する優先順位が最も高いプロセスを常に選択し、一度実行すると、プロセスがその CPU 時間を自発的に放棄することしかできない場合、つまり、他のプロセスが実行されるまで実行できない場合、問題が発生します。現在実行中のプロセスが終了します。この本が提案する解決策は、1 つのプロセスの終了と新しい優先度の高いプロセスの到着が同時に発生した場合、新しい高優先度のプロセスが準備完了キューに追加され、次にプロセスによって選択されるということのようです。次に実行するスケジューラ。

しかし、ラウンドロビンアルゴリズムの他の例では、準備完了キューにプロセスが1つしかなく、現在実行中の場合、同時にその量子が経過し、新しいプロセスが準備完了を示している場合、提案された解決策はスケジューリングが最初に行われるため、現在実行中のプロセスは引き続き実行され、新しいプロセスがキューに追加されます。

他の投稿から、キュー内の単一プロセスのラウンドロビンではコンテキストスイッチが発生しないことを知っているので、誰かがこれを明確にしてくれたらありがたいのですが、一般的に、キューに新しいプロセスを追加する前にスケジューリングが行われるのは本当ですか? .

4

1 に答える 1