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

優先度に基づくプリエンプティブスケジューリングが行われる二つのタスクA、Bがある。
優先度はAの方が高く、制約条件は表のとおりである。
Bが実行中、割込みによってAに実行を移すとき、A、Bともデッドラインを超えないためには、割込みハンドらを何マイクロ秒以内で処理する必要があるか。
ここで、和t\り込み発生から割込みハンドらが起動するまでの時間、及びタスク切替えによるオーバヘッドの時間は無視するものとする。

単位 マイクロ秒
タスクの実行時間 起動したからデッドラインまでの時間
タスクA 30 60
タスクB 50 100

 ア  20  イ  30  ウ  40  エ  50


答え ア


解説
タスクAについて考えると、タスクA実行中に割込みが発生すると、タスクAの処理を中断して割込み処理が実行され、その後で中断していたタスクAの処理が行われるので、割込み処理に許された時間は
 60 - 30 = 30マイクロ秒
になる。
タスクBについて考えると、タスクB実行中に割込みが発生すると、タスクAの処理を中断して割込み処理が実行され、その後でタスクAが実行されてから、中断していたタスクAの処理が行われるので、割込み処理に許された時間は
 100 - 50 - 30 = 20マイクロ秒
(ア)になる。


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

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

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

戻る 一覧へ 次へ