修了試験 2011-06-26実施分 基本情報技術者試験 問19
プログラムのCPU実行時間が300ミリ秒,入出力時間が600ミリ秒,その他のオーバヘッドが100ミリ秒の場合,ターンアラウンドタイムを半分に改善するには,入出力時間を現在の何倍にすればよいか。
正答1
解説
正解は1です。 この問題は、ターンアラウンドタイムを改善するための入出力時間の短縮率を求める計算です。 ターンアラウンドタイムは、CPU実行時間・入出力時間・その他のオーバヘッドの合計とします。 【計算】 現在のターンアラウンドタイムは、300+600+100=1,000ミリ秒です。 半分に改善すると、目標は500ミリ秒です。 CPU実行時間とオーバヘッドは変わらないので、300+100=400ミリ秒は残ります。 入出力時間に使えるのは、500-400=100ミリ秒です。 100÷600=1/6なので、入出力時間を現在の1/6倍にすればよいことになります。 【選択肢別解説】 1:○ 入出力時間を600ミリ秒から100ミリ秒にすると、合計が500ミリ秒となり半分になります。 2:× 1/4倍では入出力時間が150ミリ秒になり、合計550ミリ秒です。 半分の500ミリ秒には届きません。 3:× 1/3倍では入出力時間が200ミリ秒になり、合計600ミリ秒です。 目標より100ミリ秒長くなります。 4:× 1/2倍では入出力時間が300ミリ秒になり、合計800ミリ秒です。 入出力だけを半分にしても全体は半分になりません。 【ポイント】 改善できない部分(ここではCPUとオーバヘッド)を先に差し引いて考えるのがコツです。 全体の一部だけを改善しても効果が限られるという考え方は、アムダールの法則にもつながります。まとめて解く
修了試験 2011-06-26実施分を通しで解く(80問)→