過去問解きまくり研究所 ホーム

平成23年度 特別 午前 問18

ソフトウェア

CPU使用率に関する問題

CPU が1台で,入出力装置(I/O)が同時動作可能な場合の二つのタスク A,B のスケジューリングは図のとおりであった。この二つのタスクにおいて,入出力装置が CPU と同様に,一つの要求だけを発生順に処理するように変更した場合,両方のタスクが終了するまでの CPU 使用率はおよそ何%か。

〔図〕帯グラフ2本(横軸に等間隔の目盛/黒帯=CPU・網掛け帯=I/O・白=待ち)
目盛を数えて長さを単位で書き起こした(1単位=目盛1つぶん):

  タスクA │ CPU(2) │ I/O(A)(8) │ CPU(3) │ I/O(A)(4) │ CPU(3) │   … 計20単位
  タスクB │ 待ち(2) │ CPU(2) │ I/O(B)(4) │ CPU(2) │ I/O(B)(4) │ CPU(3) │ … 計17単位

  (2本の帯は左端が揃っており,同じ目盛を共有している)
答えと解説を見る

✓ これが正解ウ60

解説

仕事量は変わらず、全体の長さだけが伸びます。

見るべきなのは、変更で何が変わり、何が変わらないかです。各タスクが必要とする長さそのものは変わりません。図の帯を数えると、CPU が働くのは合わせて15単位、入出力装置が動くのは合わせて20単位です。変わるのは、二つのタスクの入出力が重なったときに、後から要求したほうが待たされる点です。要求のあった順に一つずつ処理するよう並べ直すと待ちが増え、両方のタスクが終わるまでの長さは25単位まで伸びます。CPU が働く長さは15単位のままですから、CPU 使用率は15を25で割った値になります。判定の軸は、仕事の量は変わらないと押さえたうえで、全体の長さがどこまで伸びるかを数え直せているかです。

ほかの選択肢はなぜ違うのか

出典:平成23年度 特別 基本情報技術者試験 午前 問18(改変:原典の図表をテキストに書き起こした)

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)