平成25年度 春期 午前Ⅱ 問8
オペレーティングシステム
リアルタイムOSに関する問題
リアルタイムOSで用いられる,タスクがデッドラインを必ず守るデッドラインスケジューリングでは,周期タスクを図のように次の四つのパラメタr,C,D,T(0<r+C≦D≦T)の組で表現することができる。
周期タスクのパラメタの図:
時間 →
| <------------- T -------------> | <------------- T -------------> | ||||
| <---------- D ----------> | <---------- D ----------> | ||||
| <- r -> | <----- C -----> | <- r -> | <----- C -----> |
[周期タスクの実行] [周期タスクの実行]
- 各周期 T の先頭から r だけ後に周期タスクの実行が始まり,実行の長さは C。
- 周期の先頭から D の時点がデッドライン(D は T 以下)。
二つのタスクX,Yをr=0,D=Tという条件下で生成した場合,スケジュールが可能となるC,Dの組合せはどれか。ここで,タスクはX,Yの順に起動され,優先度はXの方が高い。また,スケジューリングはプリエンプティブ方式であり,OSのオーバヘッドは考慮しない。
選択肢は原典ではタスクX・タスクYのC・Dの表。
- アタスクXのC:1 / タスクXのD:2 / タスクYのC:2 / タスクYのD:3
- イタスクXのC:1 / タスクXのD:2 / タスクYのC:2 / タスクYのD:4
- ウタスクXのC:2 / タスクXのD:3 / タスクYのC:2 / タスクYのD:3
- エタスクXのC:2 / タスクXのD:4 / タスクYのC:3 / タスクYのD:4
答えと解説を見る
✓ これが正解イタスクXのC:1 / タスクXのD:2 / タスクYのC:2 / タスクYのD:4
解説
X(C1・D2)、Y(C2・D4)なら、Yは時刻4までに実行を終えます。
r=0、D=T なので、各タスクは周期の頭で起動し、次の周期が来るまでに C だけ実行を終えればよい条件です。優先度の高い X は起動されると常に先に動き、Y は X が動いていない隙間で実行されます。正解の組合せでは、時刻0〜1に X、1〜2に Y、時刻2で X の2周期目が来て2〜3に X、3〜4に Y が動きます。Y は2単位の実行を時刻4で終え、デッドラインの4に間に合います。X も各周期の中で1単位を終えています。CPU の使用率で見ても1/2+2/4=1で、1を超えていません。プリエンプティブの問題は、時刻ごとに誰が動くかを表にして追うと確実です。
ほかの選択肢はなぜ違うのか
- アタスクXのC:1 / タスクXのD:2 …:0〜1に X、1〜2に Y が動き、時刻2に X の次の周期が来るので2〜3も X が使います。Y は時刻3までに1単位しか進めず、デッドラインの3に間に合いません。使用率も1/2+2/3で1を超えます。
- ウタスクXのC:2 / タスクXのD:3 …:0〜2を X が使い、Y が動けるのは2〜3の1単位だけです。Y には2単位が必要なので、デッドラインの3に間に合いません。使用率も2/3+2/3で1を超えています。
- エタスクXのC:2 / タスクXのD:4 …:0〜2を X が使い、Y が動けるのは2〜4の2単位です。Y には3単位が必要なので、デッドラインの4に間に合いません。使用率も2/4+3/4で1を超えます。
この問題の用語
- スケジュール作業の順序と日程を決めた計画のことをいいます。作業の前後関係から日程を組み立てるには、PERTが向いています。
出典:平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問8
同じ用語が出る問題
- 平成30年度 春期 午前Ⅱ 問9:プリエンプティブに関する問題(スケジュール)
- 平成24年度 春期 午前Ⅱ 問3:CANに関する問題(スケジュール)
- 平成22年度 春期 午前Ⅱ 問22:構造化分析に関する問題(スケジュール)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)