平成27年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問10
テクノロジ/ソフトウェア優先度に基づくプリエンプティブなスケジューリングで動作する,二つの周期タスクA,Bがある。Aは Bよりも優先度が高く,周期は2ミリ秒,実行時間は1ミリ秒である。Bの周期が10ミリ秒のとき,1周期中に実行を完了できるBの実行時間は最大何ミリ秒か。ここで,A,B以外のタスクはなく,タスク切替えによるオーバヘッドはないものとする。
出典:平成27年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問10
- ア3
- イ5
- ウ7
- エ9
正解:イ
解説
優先度の高いタスクAは,周期2ミリ秒ごとに1ミリ秒の実行時間を必要とするため,Bの周期である10ミリ秒の間に,Aは5回起動され,合計で5ミリ秒(5回×1ミリ秒)のCPU時間を消費します。応答時間解析(レイトモノトニックの考え方)によれば,タスクBの実行時間をxミリ秒とすると,Bが実際に完了するまでの時間(応答時間)Rは,Bの実行時間xと,その間にAによって割り込まれる回数分の実行時間の合計で表され,R=x+⌈R/2⌉×1という関係が成り立ちます。Bの周期(デッドライン)は10ミリ秒であるため,R=10として計算すると,⌈10/2⌉=5であることから,x=10-5=5ミリ秒となります。これがBの周期内に処理を完了できる最大の実行時間です。
選択肢ごとの解説
- ア誤り。3ミリ秒は,Bの実行時間として余裕を残しすぎた値であり,1周期10ミリ秒の中でAによる割込みを考慮しても,Bはこれより長い時間を処理に充てることができます。
- イ正しい。Bの周期10ミリ秒の間にAが5回実行され合計5ミリ秒を消費するため,残りの5ミリ秒がBの実行に割り当てられる最大の時間となり,Bはちょうど周期内に処理を完了できます。
- ウ誤り。7ミリ秒をBの実行時間とすると,Aによる合計5ミリ秒の割込み時間と合わせて12ミリ秒となり,Bの周期10ミリ秒を超えてしまうため,周期内に処理を完了できません。
- エ誤り。9ミリ秒をBの実行時間とすると,Aによる割込み時間と合わせるとBの周期10ミリ秒を大幅に超えてしまい,周期内に処理を完了できません。