平成28年春期試験問題 午前問19

ノンプリエンプティブだけのスケジューリング方式はどれか。

  • 残余処理時間順
  • 到着順
  • 優先度順
  • ラウンドロビン
正解 問題へ
分野:テクノロジ系
中分類:ソフトウェア
小分類:オペレーティングシステム
解説
ノンプリエンプティブとは、マルチタスクOS上で実行されているタスクの切替えをプログラム自身に任せ、プログラムがCPUを自発的に開放したタイミングで他のタスクへの切替えを行うマルチタスク制御方式のことをいいます。OSがCPUを管理しないので、1つのプログラムを実行している間は、その他のプログラムの実行は制限されます。

ノンプリエンプティブに対して、OSがCPUの割当てを管理し、状況の変化に応じてタスクの切替えを行う考え方は「プリエンプティブ」なタスクスケジューリングといいます。
  • 残余処理時間順は、残りの処理時間が短いと推定されるタスクから優先的に処理していく方式です。実行中のタスクよりも残り処理時間が短いタスクが実行可能状態になった場合、OSによりタスクの切替えが行われます。
  • 正しい。到着順方式は、単純にタスクが実行可能状態なった順番でタスクを実行していく方式です。実行中のタスクが終了したら、次の順番のタスクを実行という感じで処理していくため、ノンプリエンプティブ方式に分類されます。
  • 優先度順には、静的優先度順方式と動的優先度順方式があります。静的優先度順方式はノンプリエンプティブ方式に、動的優先度順方式はプリエンプティブ方式に分類されます。
    静的優先度順方式
    実行中のタスクが終了したら、次に実行するタスクとして最も優先度の高いタスクを選択する
    動的優先度順方式
    実行中のタスクよりも優先度の高いタスクが到着したら、その時点でタスクの切替えを行い、優先度の高いタスクを実行する
  • ラウンドロビン方式は、実行可能状態となった順に従ってタスクに一定のCPU時間(タイムクウォンタム)を与えていくタスクスケジューリング方式です。一定時間内に処理が終わらなかったタスクは、OSにより実行可能状態の待ち行列の最後尾に移されます。

Pagetop