過去問解きまくり研究所 ホーム

平成30年度 春期 午前Ⅱ 問9

オペレーティングシステム

プリエンプティブに関する問題

リアルタイム OS で用いられる,タスクがデッドラインを必ず守るデッドラインスケジューリングでは,周期タスクを図のように次の四つのパラメタ r,C,D,T(0<r+C≦D≦T)の組みで表現することができる。

周期タスクのパラメタ:

時間 ─────────────────────────────────────────────────────→
←──────────── T ────────────→←──────────── T ────────────→
←───────── D ─────────→←───────── D ─────────→
←r→←───── C ─────→←r→←───── C ─────→
     [周期タスクの実行]              [周期タスクの実行]

二つのタスク X,Y を r=0,D=T という条件下で生成した場合,スケジュールが可能となる C,D の組合せはどれか。ここで,タスクは X,Y の順に起動され,優先度は X の方が高い。また,スケジューリングはプリエンプティブ方式であり,OS のオーバヘッドは考慮しない。

選択肢は原典ではタスク X の C・D とタスク Y の C・D の表。

答えと解説を見る

✓ これが正解イタスク X の C:1 / タスク X の D:2 / タスク Y の C:2 / タスク Y の D:4

解説

X が周期2で1、Y が周期4で2を使う組なら期限を守れます。

r=0、D=T なので、各タスクは周期の始めに起動し、次の起動までに実行時間 C を終えればよいことになります。スケジューリングはプリエンプティブなので、優先度の高い X が起動すれば Y を中断して先に実行され、Y は X が動いていない時間だけ使えます。正解の組では、X は周期2ごとに1、Y は周期4ごとに2の実行が必要です。時刻0〜1で X、1〜2で Y、2〜3で再び起動した X、3〜4で Y が動き、Y は時刻4の期限までに合計2の実行を終えます。CPU の使用率も 1/2+2/4=1 で、100% を超えません。ほかの組は使用率がいずれも1を超えるので、どう並べても期限に間に合いません。各タスクの C/T を足して1を超えないかをまず確かめ、そのうえで時間軸に並べて確認すると確実です。

ほかの選択肢はなぜ違うのか

この問題の用語

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

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)