令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7
テクノロジ/ソフトウェアプロセスのスケジューリングに関する記述のうち,ラウンドロビン方式の説明として,適切なものはどれか。
出典:令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7
- ア各プロセスに優先度が付けられていて,後に到着してもプロセスの優先度が実行中のプロセスよりも高ければ,実行中のものを中断し,到着プロセスを実行する。
- イ各プロセスに優先度が付けられていて,イベントの発生を契機に,その時点で最高優先度のプロセスを実行する。
- ウ各プロセスの処理時間に比例して,プロセスのタイムクウォンタムを変更する。
- エ各プロセスを待ち行列に並んだ順にタイムクウォンタムずつ実行し,終了しないときは待ち行列の最後につなぐ。
正解:エ
解説
ラウンドロビン方式は,実行待ちのプロセスを待ち行列(キュー)に並べ,先頭のプロセスから順に一定時間(タイムクウォンタム)ずつ CPU を割り当てて実行するスケジューリング方式です。タイムクウォンタム内に処理が終了しなかったプロセスは,待ち行列の最後尾に再度つながれ,次の順番を待ちます。全てのプロセスに公平に CPU 時間を割り当てられる点が特徴です。
選択肢ごとの解説
- ア誤り。優先度が高いプロセスが到着すると実行中のプロセスを中断して実行するのは,プリエンプティブな優先度方式の説明であり,ラウンドロビン方式ではプロセスの優先度は用いません。
- イ誤り。イベントの発生を契機に最高優先度のプロセスを実行するのは,イベントドリブンな優先度方式の説明であり,ラウンドロビン方式の特徴ではありません。
- ウ誤り。処理時間に比例してタイムクウォンタムを変更する方式は,ラウンドロビン方式の基本的な特徴ではありません。ラウンドロビン方式では,通常タイムクウォンタムは固定です。
- エ正しい。各プロセスを待ち行列に並んだ順に一定のタイムクウォンタムずつ実行し,終了しない場合は待ち行列の最後尾につなぐのがラウンドロビン方式です。