平成17年秋期試験問題 午前問28

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

正解 ウ問題へ
広告
解説
時間の経過とCPUの使用状況を表にしながら考えるとわかりやすいと思います。
まず優先度が唯一"高"であるタスクAは、他のタスクの実行によって待ち状態になることはないので、表を作成し、最初にタスクAのCPU使用状況を描き入れます。
他のタスクはタスクAがCPUを使用していない間だけCPUを使用することができることを踏まえて、各タスクと組み合わせた場合のCPU使用状況を描き入れます。
赤い文字で書かれている時間がCPUの遊休時間になります。
表にしてみると一目瞭然で、タスクAとタスクDの組合せだけがCPUの遊休時間をゼロにできることがわかります。
まず優先度が唯一"高"であるタスクAは、他のタスクの実行によって待ち状態になることはないので、表を作成し、最初にタスクAのCPU使用状況を描き入れます。


表にしてみると一目瞭然で、タスクAとタスクDの組合せだけがCPUの遊休時間をゼロにできることがわかります。
広告