問題プレビューID: 40e977c7

問 18

優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS で,二つのタスク A,B をスケジューリングする。A の方が B より優先度が高い場合にリアルタイム OS が行う動作のうち,適切なものはどれか。

解説

プリエンプティブなスケジューリングとは,実行中のタスクよりも優先度の高いタスクが実行可能になると,実行中のタスクを中断して高い優先度のタスクに CPU を明け渡す方式である。ここで,A の方が B より優先度が高い。

  • 低優先度の B が実行中に,高優先度の A に起動がかかると,B は実行を中断して実行可能状態(レディ状態)に戻され,A が実行される。
  • A の実行中に B に起動がかかっても,B は A より優先度が低いので A は実行を継続し,A を中断して B を実行することはない。
  • なお,待ち状態は入出力待ちなどの事象待ちの状態であり,優先度による横取りで待ち状態になることはない。

したがって,正解は「ウ」です。