IPA過去問ドリル

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

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

リアルタイム OS で用いられる,タスクがデッドラインを必ず守るデッドラインスケジューリングでは,周期タスクを図のように次の四つのパラメタ r,C,D,T(0<r+C≦D≦T)の組みで表現することができる。 二つのタスク X,Y を r=0,D=T という条件下で生成した場合,スケジュールが可能となる C,D の組合せはどれか。ここで,タスクは X,Y の順に起動され,優先度は X の方が高い。また,スケジューリングはプリエンプティブ方式であり,OS のオーバヘッドは考慮しない。 タスクX(C,D)/タスクY(C,D)の組合せ ア:X(1,2)/Y(2,3) イ:X(1,2)/Y(2,4) ウ:X(2,3)/Y(2,3) エ:X(2,4)/Y(3,4) (注:本サイトでは原問題の表を文字表記に変換しています)

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

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

正解:イ

解説

デッドラインスケジューリングでは,周期タスクは起動時刻からの遅延 r,最大実行時間 C,デッドライン D,周期 T の四つのパラメタで表現されます。本問では r=0,D=T という条件で,優先度の高いタスク X が先に,優先度の低いタスク Y が後に起動されるプリエンプティブなスケジューリングを考えます。X は毎周期,起動直後から最大 C 時間実行され,D=T までに完了しなければなりません。X が高優先度であるため,Y は X の実行中は中断され,X の完了後に実行されます。選択肢アでは,X(C=1,D=2) は 1 周期(T=2)内に必ず 1 で完了でき,Y(C=2,D=3) は X による割込み(最悪1)を考慮しても,周期 T=2 のうちに X の実行 1 とあわせて Y の実行 2 を D=3 までに収めることができるかを検証すると,X が周期的に1ずつ専有するのに対し Y は残り時間で実行され,D=3 までに完了可能であることが確認できます(一般に速い周期タスクの応答時間解析により,X(1,2),Y(2,3) の組合せはスケジュール可能であることが知られています)。他の選択肢は,Y の D に対して X による割込みの影響を考慮すると,D までに Y の実行が完了しない組合せとなります。

選択肢ごとの解説

  • 誤り。X(1,2),Y(2,3) の組合せでは,Y の周期が T=3 である一方,X の周期は T=2 であり,Y の D=3 の期間中に X が複数回起動されてその都度 Y の実行が中断されるため,Y の実行がデッドライン D=3 までに完了できない場合が生じ,スケジュール不可能です。
  • 正しい。X(1,2),Y(2,4) の組合せでは,優先度の高い X が周期 T=2 ごとに最大 1 だけ実行され,残りの時間で Y が実行されます。Y の D=4 の間に X による中断(最大 2 回分,合計 2)を考慮しても,Y の実行時間 2 を確保してデッドライン D=4 までに完了させることができ,スケジュール可能です。
  • 誤り。X(2,3),Y(2,3) の組合せでは,X の周期 T=3 のうち最大 2 を X が専有するため,Y に残る実行可能な時間が不足し,Y の実行時間 2 を D=3 までに確保できずスケジュール不可能です。
  • 誤り。X(2,4),Y(3,4) の組合せでは,X が周期 T=4 ごとに最大 2 を専有し,Y の実行時間 3 と合わせて必要な時間が D=4 に収まりきらず,スケジュール不可能です。
エンベデッドシステムスペシャリストの過去問を演習モードで解く