IPA過去問ドリル

令和元年度 秋期 基本情報技術者試験 午前 問18

テクノロジ/ソフトウェア

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

出典:令和元年度 秋期 基本情報技術者試験 午前 問18

正解:ウ

解説

プリエンプティブなスケジューリングでは,実行中のタスクより優先度の高いタスクが実行可能になると,OSが強制的にCPUを取り上げて優先度の高いタスクに切り替えます。取り上げられたタスクは,すぐに実行を再開できる「実行可能状態」に移ります。「待ち状態」は入出力完了などの事象を待つ状態であり,優先度によるプリエンプションでは待ち状態にはなりません。

選択肢ごとの解説

  • 誤り。優先度の低いBのために優先度の高いAを中断することはありません。
  • 誤り。優先度の低いBを優先させるうえに,Aを待ち状態にする点も誤りです。
  • 正しい。優先度の高いAが起動すると,実行中のBは実行可能状態に戻され,Aが実行されます。
  • 誤り。Aを実行させる点は正しいのですが,中断されたBは実行可能状態になるのであって待ち状態にはなりません。
基本情報技術者の過去問を演習モードで解く