平成22年 春期 エンベデッドシステムスペシャリスト 午前II 問23

プリエンプティブな優先度ベーススケジューリングで動作する三つの周期タスクA、B、Cがある。
タスクCが実行可能になってから完了するまでの時間は最大何ミリ秒か。

周期(ミリ秒) 最大実行時間(ミリ秒) 優先度
タスクA 400 50
タスクB 650 200
タスクC 700 300

 ア  300  イ  550  ウ  600  エ  700


答え ウ


解説
タスクA、B、Cが同時に実行可能になったとし、その時間を0とすると、まず、優先度が高のタスクAを50ミリ秒実行する。
次に優先度が中のタスクBを200ミリ秒実行し、タスクCを実行するが、タスクCを実行して150ミリ秒後にタスクAの周期400ミリ秒が経過するので、タスクCの実行件がタスクAに移りタスクAを実行し、タスクAの処理終了後にタスクCの続きを実行するので、タスクCの終了は実行可能になってから600ミリ秒(ウ)になる。
 


キーワード
・プリエンプティブ

キーワードの解説
  • プリエンプティブ(preemptive)
    システムによって、複数のタスクで処理の優先度を付け、優先度の高いタスクは、優先度の低いタスクを停めても処理する必要がある場合、処理中の優先度の低いタスクを止めて、優先度の高いタスクを動作させることをプリエンプティブな処理という。
    処理の横取りと考えるとわかりやすい。

もっと、「プリエンプティブ」について調べてみよう。

戻る 一覧へ 次へ