基本情報技術者試験 2005年度 = 平成17年度・秋期 午前 問28

 五つのタスクA~Eの優先度と、各タスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は、表のとおりである。優先度“高”のタスクAとB~Eのどのタスクを組み合わせれば、組み合わせたタスクが同時に実行を開始してから、両方のタスクの実行が終了するまでの間のCPUの遊休時間をゼロにできるか。ここで、I/Oは競合せず、OSのオーバヘッドは無視できるものとする。また、表の( )内の数字は処理時間を示すものとする。

タスク 優先度 単独実行時の動作時間と処理時間(ミリ秒)
 CPU (3) → I/O (3) → CPU (3) → I/O (3) → CPU (2)  
 CPU (2) → I/O (5) → CPU (2) → I/O (2) → CPU (3)  
 CPU (3) → I/O (2) → CPU (2) → I/O (3) → CPU (2)  
 CPU (3) → I/O (2) → CPU (3) → I/O (1) → CPU (4)  
 CPU (3) → I/O (4) → CPU (2) → I/O (5) → CPU (2)  

解答

 ウ

解説

 優先度の高いタスクのタイムチャートは、下図のようになります。


 ここで、黒い部分が遊休時間です。CPUの遊休時間を0にするためには、CPUの黒い部分にピッタリおさまらなければなりません。また、I/Oの方は黒い部分の中におさまらなければなりません。
 この条件を満たすのは選択肢であり、二つのタスクを合わせたタイムチャートは、下図のようになります。




BohYoh.comトップページへ