IPA過去問ドリル

平成27年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問10

テクノロジ/ソフトウェア

優先度に基づくプリエンプティブなスケジューリングで動作する,二つの周期タスクA,Bがある。Aは Bよりも優先度が高く,周期は2ミリ秒,実行時間は1ミリ秒である。Bの周期が10ミリ秒のとき,1周期中に実行を完了できるBの実行時間は最大何ミリ秒か。ここで,A,B以外のタスクはなく,タスク切替えによるオーバヘッドはないものとする。

出典:平成27年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問10

正解:イ

解説

優先度の高いタスク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ミリ秒を大幅に超えてしまい,周期内に処理を完了できません。
エンベデッドシステムスペシャリストの過去問を演習モードで解く