SkillStack
テクノロジ系9 / 25問

エンベデッドシステムスペシャリスト試験 令和2年度 秋期 午前II 問9

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

エンベデッドシステムスペシャリスト試験 令和2年度 秋期 午前II 問9の図表

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】イ

図では、Tが起動周期、Dが周期の開始からデッドラインまでの時間、rが起動までのずれ、Cが実行に必要な時間を表しています。ここではr=0、D=Tなので、各タスクは周期の開始時に起動し、次の起動時刻までに処理を完了する必要があります。Xの優先度が高いため、Xが起動するとYを中断して先に実行します。

イでは、時刻0~1にXを実行し、Xはデッドライン2より前に完了します。時刻1~2にYを1単位実行したところで、時刻2に次のXが起動します。そこで時刻2~3にXを実行し、時刻3~4にYの残り1単位を実行します。Yの実行時間は合計2単位となり、デッドライン4ちょうどに完了します。この4単位のパターンを繰り返せるので、スケジュール可能です。

アでは、時刻0~1にX、1~2にYを実行しますが、時刻2~3は次のXに割り込まれます。Yは必要な2単位のうち1単位しか実行できず、デッドライン3に間に合いません。

ウでは、時刻0~2をXが使用し、Yは2~3の1単位しか実行できません。必要時間は2なので、デッドライン3を超えます。

エでは、時刻0~2をXが使用し、Yが実行できるのは2~4の2単位です。必要時間は3なので、デッドライン4に間に合いません。

【ポイント】 プリエンプティブ方式では、高優先度タスクが起動すると低優先度タスクを中断します。 各選択肢について時間軸を書き、高優先度タスクによる割込みを反映して締切時点の残り実行時間を確認します。

出典:令和2年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問9
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める