ソフトウェア
基本情報技術者試験 科目A免除 修了試験 20120722 実施分 問21
二つのタスク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) |
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20120722 実施分 問21(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:ウ
覚える知識
CPUとI/O競合下のタスク実行時間計算
I/Oが共有される場合は、先行タスクの入出力が終わるまで後続タスクは待たされる。
この問題で必要なこと
タイムチャートで追う。A:CPU0-20,I/O20-50,CPU50-70,I/O70-110,CPU110-120。B:CPU20-30,I/O待ち(Aが使用中)50-80,CPU80-100,I/O110-130(Aの70-110後),CPU130-140…を丁寧に追うとB完了は160ms。
ひっかけ
I/O競合を考慮せず単純合計や並行実行で短く見積もる。
この知識の出題:本試験系 0 回・免除試験 7 回(公開問題での観測値)。頻出知識ランキング842位(全1,254件中)。