メインコンテンツへ
ソフトウェアタスクスケジューリング

ラウンドロビン(Round Robin)スケジューリングの説明として正しいものはどれか。

ア.一度実行を開始したプロセスは完了するまでCPUを独占する非プリエンプティブ方式。
イ.優先度の高いプロセスを常に先に実行し、優先度が同じ場合のみ時分割する。
ウ.各プロセスに一定の時間(タイムクォンタム)を順番に割り当て、公平に実行する。正解
エ.実行時間の最も短いプロセスから先に実行する最短ジョブ優先方式。

解説

ラウンドロビンは「みんな順番ね!制限時間あり!」のスケジューリング。タイムスライスという砂時計を全員が平等に使い回す公平なCPU配分方式です。

なぜ ウ が正解か

ラウンドロビンスケジューリング: ・各プロセスにタイムクォンタム(タイムスライス、例:10ms)を与える ・時間内に終わらなければCPUを解放してキューの末尾に並び直す ・全プロセスを循環的に公平に実行 特徴: 対話型OSに適しており、応答時間が均等。タイムクォンタムが小さすぎるとコンテキストスイッチのオーバーヘッドが大きくなり、大きすぎるとFCFSに近くなります。

なぜ ア は間違いか

プロセスが完了するまでCPUを独占する方式は「FCFS(非プリエンプティブ)」の説明です。ラウンドロビンはタイムクォンタム切れでCPUを解放するプリエンプティブ方式であり、独占は許可しません。

なぜ イ は間違いか

優先度の高いプロセスを常に先に実行するのは「優先度スケジューリング(Priority Scheduling)」の説明です。この方式では低優先度プロセスが永遠に実行されない「スタベーション」が発生する可能性があります。

なぜ エ は間違いか

実行時間が最短のプロセスを先に実行するのは「SJF(Shortest Job First)」または「SPN(Shortest Process Next)」方式です。平均待機時間は最短になりますが、長いジョブがスタベーションする欠点があります。

出典: AI生成問題(学習用)