修了試験 2014-07-27実施分 基本情報技術者試験 問16
二つのタスクA,Bを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は,表のとおりである。 次の条件で二つのタスクが同時に実行可能状態になってから,タスクBの実行が完了するまでの時間は何ミリ秒か。 ここで,表の()内の数字は処理時間を表すものとする。 〔条件〕 (1) タスクA,Bは同一のI/Oを使用し,タスクAが先に実行される。 (2) CPU処理を実行中のタスクは,入出力処理を開始するまでは処理を継続し,中断されない。 (3) I/Oも入出力が終了するまで処理を中断されない。 (4) その他のオーバヘッドは考慮しない。 タスク|単独実行時の動作順序と処理時間(単位 ミリ秒) A|CPU(20)→I/O(30)→CPU(20)→I/O(40)→CPU(10) B|CPU(10)→I/O(30)→CPU(20)→I/O(20)→CPU(20)
正答3
解説
正解は3です。 CPUとI/Oはそれぞれ同時に1つのタスクしか使えません。 Aを先に実行し、各処理は途中で中断されないという条件で、時刻を追って割り当てます。 【計算】 0〜20ミリ秒:AがCPU(20)を使います。 20〜30ミリ秒:BがCPU(10)を使い、同時にAがI/O(30)を20〜50ミリ秒で使います。 50〜80ミリ秒:I/Oが空くのを待っていたBがI/O(30)を使います。 50〜70ミリ秒:AがCPU(20)を使います。 80〜120ミリ秒:AのI/O(40)は、Bが使っているI/Oが空く80ミリ秒まで待ってから使います。 80〜100ミリ秒:BがCPU(20)を使います。 120〜140ミリ秒:BのI/O(20)は、AがI/Oを使い終える120ミリ秒まで待ってから使います。 120〜130ミリ秒:AがCPU(10)を使い、Aは完了します。 140〜160ミリ秒:BがCPU(20)を使い、Bは160ミリ秒で完了します。 【選択肢別解説】 1:× 120ミリ秒はAが最後のI/Oを終える時刻です。 Bはその後もI/O(20)とCPU(20)が残っています。 2:× 140ミリ秒はBが最後のI/Oを終える時刻です。 この後にBのCPU(20)が残っています。 3:○ 時刻を順にたどると、Bの最後のCPU処理が160ミリ秒で終わります。 4:× 180ミリ秒は、待ち時間を余分に見積もった値です。 各装置が空いた時点ですぐ処理を始めれば、160ミリ秒で完了します。 【ポイント】 「AのI/Oが80ミリ秒まで待たされる」点を見落とすと150ミリ秒と誤りやすい問題です。 CPUとI/Oの使用状況を時刻ごとに表にして確かめると確実です。まとめて解く
修了試験 2014-07-27実施分を通しで解く(80問)→