IPA過去問ドリル

平成30年度 春期 基本情報技術者試験 午前 問16

テクノロジ/ソフトウェア

三つのタスクA~Cの優先度と,各タスクを単独で実行した場合のCPUと入出力(I/O)装置の動作順序と処理時間は,表のとおりである。A~Cが同時に実行可能状態になって3ミリ秒経過後から7ミリ秒間のスケジューリングの状況を表したものはどれか。ここで,I/Oは競合せず,OSのオーバヘッドは考慮しないものとする。また,表中の()内の数字は処理時間を表すものとし,解答群の中の“待ち”は,タスクが実行可能状態にあり,CPUの割当て待ちであることを示す。

平成30年度 春期 基本情報技術者試験 午前 問16の図

出典:平成30年度 春期 基本情報技術者試験 午前 問16

正解:ウ

解説

優先度の異なる3タスクA(高)・B(中)・C(低)が同時に実行可能状態になった場合,プリエンプティブなスケジューリングでは,常に実行可能な最高優先度のタスクがCPUを使用し,より高い優先度のタスクが実行可能になれば直ちに横取り(プリエンプト)されます。時刻0でAがCPU(2)を実行後I/O(2)へ移り,その間にBがCPU(3)を開始しますが,時刻4でAがI/Oを終えて再びCPUを要求するためBは1ミリ秒残して横取りされ,Aが最後のCPU(2)を実行して時刻6に完了します。その後Bが残りのCPU(1)を実行して時刻7からI/O(5)に入り,ここでようやくCがCPU(2)を実行(7~9)してI/O(2)に入ります(9~11)。この経過をたどると,時刻3~10の間はA:I/O(3-4)→CPU(4-6)完了,B:CPU(3-4)→待ち(4-6)→CPU(6-7)→I/O(7-10),C:待ち(3-7)→CPU(7-9)→I/O(9-10)となり,これに一致するのはタイムチャートウです。

選択肢ごとの解説

  • 誤り。タイムチャートアは,Aの完了時刻やBのI/O・CPU区間の割当てが実際のスケジューリング結果と一致しません。
  • 誤り。タイムチャートイは,Bが時刻4以降ずっとI/Oを続ける形になっており,優先度に基づくプリエンプションでBのCPU実行が時刻6~7に発生する点が反映されていません。
  • 正しい。優先度に基づくプリエンプティブスケジューリングを正しく反映すると,A:I/O(3-4)→CPU(4-6)で完了,B:CPU(3-4)→待ち(4-6)→CPU(6-7)→I/O(7-10),C:待ち(3-7)→CPU(7-9)→I/O(9-10)となり,これがタイムチャートウです。
  • 誤り。タイムチャートエは,Aが時刻3~4でI/Oではなくその後長時間待ちになるなど,優先度の高いAが速やかにCPUを取得して完了する流れが反映されていません。
基本情報技術者の過去問を演習モードで解く