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

平成25年度 春期 午前 問18

ソフトウェア

CPUの遊休時間

三つのタスクの優先度と,各タスクを単独で実行した場合の CPU と入出力装置(I/O)の動作順序と処理時間は,表のとおりである。三つのタスクが同時に実行可能状態になってから,全てのタスクの実行が終了するまでの,CPU の遊休時間は何ミリ秒か。ここで,I/O は競合せず,OS のオーバヘッドは考慮しないものとする。また,表の( )内の数字は処理時間を示す。

〔表〕

優先度単独実行時の動作順序と処理時間(単位 ミリ秒)
高CPU(3) → I/O(5) → CPU(2)
中CPU(2) → I/O(6) → CPU(2)
低CPU(1) → I/O(5) → CPU(1)
答えと解説を見る

✓ これが正解ウ3

解説

CPUが空くのは2ミリ秒と1ミリ秒で合計3です。

この種の問は、時間の線を1本引いて、CPUが誰にも使われていない区間を数えるのが確実です。CPUは優先度の高いタスクが先に使い、入出力は競合しないので同時に進みます。開始から追うと、まず優先度の高いものが3ミリ秒使い、続いて中くらいのものが2ミリ秒、低いものが1ミリ秒使って、6ミリ秒の時点で三つとも入出力に移ります。ここから、優先度の高いものの入出力が終わる8ミリ秒までCPUは空きます。8ミリ秒から2ミリ秒使って優先度の高いものが終わると、残る二つの入出力はどちらも11ミリ秒に終わるので、10ミリ秒から1ミリ秒だけまた空きます。合計は3ミリ秒です。全体が14ミリ秒でCPUが働いたのが11ミリ秒という数え方でも同じ値になり、2通りで確かめられます。

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

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

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