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

平成27年度 春期 午前Ⅱ 問7

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

リアルタイムOSに関する問題

優先度に基づくスケジューリングを行うリアルタイムOSを用いたシステムで,タスクの状態遷移を計測したところ,図の結果を得た。タスクが待ち,実行可能,実行の三つの状態をもつとき,(A),(B),(C)に当てはまるタスクの状態の組合せとして,適切なものはどれか。

タスクの状態遷移の計測結果:

タスク区間1区間2区間3
タスク1(優先度 高)実行(A)(A)
タスク2(優先度 中)実行可能実行(B)
タスク3(優先度 低)実行可能実行可能(C)

区間1〜3は原典に無い名(点線で区切った時間を左から順に呼んだ)。原典ではタスク1の(A)は区間2〜3にまたがる1つの枠,タスク3の実行可能は区間1〜2にまたがる1つの枠。

選択肢は原典では(A)・(B)・(C)の表。

答えと解説を見る

✓ これが正解エ(A):待ち / (B):待ち / (C):実行

解説

高い優先度のタスクが待ちでない限り、低いタスクは実行されません。

優先度に基づくスケジューリングでは、実行可能状態のタスクのうち最も優先度の高いものが実行状態になります。この規則を、時間軸を三つに区切った区間ごとに当てはめます。2番目の区間では優先度が中のタスク2が実行しています。もしタスク1が実行可能なら、優先度の高いタスク1が実行されるはずなので、(A)は待ちです。3番目の区間でもタスク1は待ちのままです。ここで(C)が実行で(B)が実行可能だとすると、優先度の高いタスク2を差し置いて低いタスク3が動くことになり、規則に反します。よって(B)は待ち、(C)は実行です。実行中のタスクより優先度の高いタスクは全て待ち状態にある、と確かめるのが解き方です。

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

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

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