IPA過去問ドリル

平成29年度 秋期 基本情報技術者試験 午前 問18

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

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

出典:平成29年度 秋期 基本情報技術者試験 午前 問18

正解:ウ

解説

優先度に基づくプリエンプティブなスケジューリングでは,実行中のタスクよりも優先度の高いタスクに起動がかかると,実行中のタスクの処理を中断(プリエンプト)してでも,優先度の高いタスクをすぐに実行します。中断されたタスクは処理が完了していないため「待ち状態」ではなく,再び実行される機会を待つ「実行可能状態」に置かれます。

選択肢ごとの解説

  • 誤り。優先度の高いAの実行中に,優先度の低いBに起動がかかっても,Aの実行を中断してBを実行する必要はなく,Aの実行が継続されます。
  • 誤り。優先度の高いAの実行中に優先度の低いBに起動がかかっても,Aを待ち状態にする理由がなく,Aはそのまま実行が継続されます。
  • 正しい。優先度の低いBの実行中に優先度の高いAに起動がかかると,Bを実行可能状態にして直ちにAを実行するのがプリエンプティブなスケジューリングです。
  • 誤り。Bの実行を中断する際は,Bの処理はまだ完了していないため,待ち状態ではなく実行可能状態(レディ状態)に戻されます。
基本情報技術者の過去問を演習モードで解く