修了試験 2014-12-21実施分 基本情報技術者試験 問13
プログラムのCPU実行時間が300ミリ秒,入出力時間が600ミリ秒,その他のオーバヘッドが100ミリ秒の場合,ターンアラウンドタイムを半分に改善するには,入出力時間を現在の何倍にすればよいか。
正答1
解説
正解は1です。 ターンアラウンドタイムは、処理を依頼してから結果が得られるまでの時間です。 ここではCPU実行時間、入出力時間、オーバヘッドの合計として考えます。 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ミリ秒となり、合計は700ミリ秒です。 入出力時間だけ半分にしても全体は半分になりません。 【ポイント】 全体を半分にするとき、一部分だけを半分にしても足りません。 変えられない部分を先に差し引いて、残りの許容時間を求めるのが定石です。まとめて解く
修了試験 2014-12-21実施分を通しで解く(80問)→