修了試験 2016-01-24実施分 基本情報技術者試験 問16
三つのタスク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)
正答3
解説
正解は3です。 優先順位方式では、実行可能状態のタスクのうち、優先度の最も高いタスクにCPUを割り当てます。 高い優先度のタスクが実行可能になると、低いタスクは実行中でもCPUを奪われます。 実行可能状態とはCPUの割当てを待っている状態のことで、CPUで実行中の時間やI/O中の時間は含みません。 I/Oは競合しないので、各タスクのI/Oは並行して進みます。 【計算】 0〜2ミリ秒は、優先度が最も高いAがCPUを使い、BとCは実行可能状態で待ちます。 2〜4ミリ秒は、AがI/Oに入る(8ミリ秒まで)ので、BがCPUを使い、Cは待ち続けます。 4〜6ミリ秒は、BがI/Oに入る(8ミリ秒まで)ので、CがCPUを使います。 6〜8ミリ秒は、CがI/Oを行います。 8ミリ秒の時点で、A・B・CのI/Oがすべて終わり、3つとも実行可能状態になります。 8〜12ミリ秒は、AがCPUを使って終了し、BとCは待ちます。 12〜14ミリ秒は、BがCPUを使って終了し、Cは待ちます。 14〜17ミリ秒は、CがCPUを使って終了します。 Cが実行可能状態にあった時間は、0〜4ミリ秒の4ミリ秒と8〜14ミリ秒の6ミリ秒で、合計10ミリ秒です。 【選択肢別解説】 1:× 6ミリ秒は、8〜14ミリ秒の待ち時間だけを数えた値です。 開始直後の0〜4ミリ秒の待ちも含める必要があり、正しくは10ミリ秒です。 2:× 時刻ごとにCPUの割当てをたどると、Cの待ち時間は合計10ミリ秒になります。 8ミリ秒になる区間の組合せはないので誤りです。 3:○ Cは0〜4ミリ秒と8〜14ミリ秒に、CPUの割当てを待つ実行可能状態にあります。 合計10ミリ秒なので正しいです。 4:× 12ミリ秒は、待ち時間にCのI/O時間の2ミリ秒を加えた値です。 I/O中は実行可能状態ではないので、正しくは10ミリ秒です。 【ポイント】 タイムチャートを書き、「CPU実行中」「I/O中」「CPU待ち」を区別して塗り分けると、ミスなく求められます。まとめて解く
修了試験 2016-01-24実施分を通しで解く(80問)→