リアルタイムOSにおいて、タスクA〜Eの発生時刻、処理時間及び優先度が次のように定められている場合、タスクCの終了時刻はタスクAが発生してから何ミリ秒後になるか。
ここで、優先度は1が最も高く、優先度の高いタスクが優先的に処理されるものとする。
また、OSのオーバヘッドは考慮しないものとする。
タスク | 発生時刻(ミリ秒) | 処理時間(ミリ秒) | 優先度 |
A | 0 | 5 | 5 |
B | 5 | 10 | 2 |
C | 10 | 15 | 3 |
D | 15 | 10 | 4 |
E | 20 | 5 | 1 |
ア | 25 |
イ | 30 |
ウ | 35 |
エ | 40 |
答え ウ
【解説】
表のとおりにタスクの処理を行うと、タスクAが0〜5ミリ秒まで実行され、次にタスクBが5ミリ秒から実行されます。
15ミリ秒でタスクCが実行可能になりますが、タスクCよりタスクBのほうが優先度が高いのでタスクBの処理が行われ、15ミリ秒でタスクBの処理が完了し、タスクDが実行可能状態になり、タスクCとタスクDではタスクCの優先度が高いのでタスクCが実行されます。
20ミリ秒でタスクEが実行可能状態になりタスクEはタスクCより優先度が高いので、タスクCの処理は中断されタスクEがじっこいうされます。
タスクEの完了後にタスクCの処理が再開され、タスクCの完了は35ミリ秒後(ウ)です。
になります。
【キーワード】
・リアルタイムOS