2019年 秋期 基本情報技術者 午前 問18

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

 ア  Aの実行中にBに起動がかかると、Aを実行可能状態にしてBを実行する。
 イ  Aの実行中にBに起動がかかると、Aを待ち状態にしてBを実行する。
 ウ  Bの実行中にAに起動がかかると、Bを実行可能状態にしてAを実行する。
 エ  Bの実行中にAに起動がかかると、Bを待ち状態にしてAを実行する。


答え ウ


解説
プリエンプティブ方式では、実行中のタスクよりも優先度の高いタスクが実行可能状態になると、実行中のタスクを実行可能状態にして、優先度の高いタスクを実行状態にします。(ウ)
優先度の高いタスクの処理が終了すると、先ほどまで実行中で実行可能状態になったタスクの処理を再開します。


キーワード
・プリエンプティブ

キーワードの解説
  • プリエンプティブ(preemptive)
    システムによって、複数のタスクで処理の優先度を付け、優先度の高いタスクは、優先度の低いタスクを停めても処理する必要がある場合、処理中の優先度の低いタスクを止めて、優先度の高いタスクを動作させることをプリエンプティブな処理という。
    処理の横取りと考えるとわかりやすい。

もっと、「プリエンプティブ」について調べてみよう。

戻る 一覧へ 次へ