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

平成30年度 春期 午前 問17

ソフトウェア

タスクに関する問題

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

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

✓ これが正解ウ10

解説

順番待ちは 0〜4 と 8〜14 の延べ 10 ミリ秒です。

設問は、優先順位方式でスケジューリングする OS の下で、タスク C が実行可能状態にあった時間の延べを尋ねています。要点は、タスクの状態を三つに分けて数えることです。CPU を使っている実行状態、動けるのに上位のタスクに CPU を取られて待っている実行可能状態、そして入出力の終わりを待っている待機状態の三つがあり、数えるのは二つめだけです。時刻を追います。0 から 2 は A が CPU を使い、2 から 4 は A が入出力へ移って B が CPU を使うので、ここまで C は順番待ちで 4 ミリ秒です。4 から 6 に C が CPU を使い、6 から 8 は C の入出力なので、この区間は待機状態として数えません。8 で三つの入出力が同時に終わり、8 から 12 は A が、12 から 14 は B が CPU を使うため、C はここでも順番待ちとなり 6 ミリ秒です。合わせて 10 ミリ秒となります。C が終わるのは 17 ミリ秒で、その内訳は順番待ち 10、実行 5、入出力待ち 2 と過不足なく埋まります。

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

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

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