No.23 五つのタスクA~Eの優先度と,各タスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は,表のとおりである。
優先度“高”のタスクAとB~Eのどのタスクを組み合わせれば,組み合わせたタスクが同時に実行を開始してから,両方のタスクの実行が終了するまでの間のCPUの遊休時間をゼロにできるか。
ここで,I/Oは競合せず,OSのオーバヘッドは無視できるものとする。
また,Bまた,表の( )内の数字は処理時間を示すものとする。
優先度“高”のタスクAとB~Eのどのタスクを組み合わせれば,組み合わせたタスクが同時に実行を開始してから,両方のタスクの実行が終了するまでの間のCPUの遊休時間をゼロにできるか。
ここで,I/Oは競合せず,OSのオーバヘッドは無視できるものとする。
また,Bまた,表の( )内の数字は処理時間を示すものとする。
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
時間の経過とCPUの使用状況を表にしながら考えるとわかりやすいと思います。
まず優先度が唯一"高"であるタスクAは、他のタスクの実行によって待ち状態になることはないので、表を作成し、最初にタスクAのCPU使用状況を描き入れます。他のタスクはタスクAがCPUを使用していない間だけCPUを使用することができることを踏まえて、各タスクと組み合わせた場合のCPU使用状況を描き入れます。赤い文字で書かれている時間がCPUの遊休時間になります。
表にしてみると一目瞭然で、タスクAとタスクDの組合せだけがCPUの遊休時間をゼロにできることがわかります。
まず優先度が唯一"高"であるタスクAは、他のタスクの実行によって待ち状態になることはないので、表を作成し、最初にタスクAのCPU使用状況を描き入れます。他のタスクはタスクAがCPUを使用していない間だけCPUを使用することができることを踏まえて、各タスクと組み合わせた場合のCPU使用状況を描き入れます。赤い文字で書かれている時間がCPUの遊休時間になります。
表にしてみると一目瞭然で、タスクAとタスクDの組合せだけがCPUの遊休時間をゼロにできることがわかります。
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |