基本情報技術者試験 2002年度 = 平成14年度・秋期 午前 問30

 五つのタスクを単体で実行した場合のCPU(処理装置)とI/O(入出力装置)の処理時間は、表のとおりである。優先度“高”のタスクとどのタスクを組み合わせれば、組み合わせたタスクが同時に実行を開始してから、両方のタスクの実行が終了するまでの間のCPUの遊休時間をゼロにできるか。ここで、各タスクが使用する入出力装置は異なるものであり、並行して動作し、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トップページへ