修了試験 2013-06-23実施分 基本情報技術者試験 問21
プログラムのCPU実行時間が300ミリ秒,入出力時間が600ミリ秒,その他のオーバヘッドが100ミリ秒の場合,ターンアラウンドタイムを半分に改善するには,入出力時間を現在の何倍にすればよいか。
正答1
解説
正解は1です。 ターンアラウンドタイムは、CPU実行時間、入出力時間、その他のオーバヘッドの合計です。 入出力時間だけを変えて、合計を半分にする方法を考えます。 【計算】 現在のターンアラウンドタイムは300+600+100=1000ミリ秒です。 半分にすると目標は500ミリ秒です。 CPU実行時間とオーバヘッドは変わらないので、入出力時間は500-300-100=100ミリ秒にする必要があります。 現在の入出力時間600ミリ秒に対する比率は100÷600=1/6です。 【選択肢別解説】 1:○ 入出力時間を100ミリ秒、つまり現在の1/6倍にすると合計が500ミリ秒になり、一致します。 2:× 1/4倍では入出力時間が150ミリ秒になり、合計は550ミリ秒です。 半分の500ミリ秒には届きません。 3:× 1/3倍では入出力時間が200ミリ秒になり、合計は600ミリ秒です。 半分にはなりません。 4:× 1/2倍では入出力時間が300ミリ秒になり、合計は700ミリ秒です。 全体を半分にするには入出力を半分にするだけでは足りません。 【ポイント】 全体を半分にしたいとき、一部分を半分にしても全体は半分になりません。 変わらない部分を先に引いてから、改善すべき部分の目標値を求めます。まとめて解く
修了試験 2013-06-23実施分を通しで解く(80問)→