平成30年秋期試験問題 午前問17

プリエンプション方式のタスクスケジューリングにおいて,タスクBの実行中にプリエンプションが発生する契機となるのはどれか。ここで,タスクの優先度は,タスクAが最も高く,タスクA>タスクB=タスクC>タスクDの関係とする。

  • タスクAが実行可能状態になった。
  • タスクBが待ち状態になった。
  • タスクCが実行可能状態になった。
  • タスクDが実行可能状態になった。
正解 問題へ
分野:テクノロジ系
中分類:ソフトウェア
小分類:オペレーティングシステム
解説
プリエンプション方式は、OSがCPUやシステム資源を管理し、CPU使用時間や優先度などによって複数のタスクを実行状態や実行可能状態へ切替えながら実行していくマルチタスクの方式です。

プリエンプション(Preemption)とは、実行状態にあるタスクがCPUの使用権を奪われ実行可能状態に移されることをいい、以下のいずれかの状態になったときに起こります。
  • 実行状態のタスクより優先度の高いタスクが実行可能状態になる
  • 実行状態のタスクに割り当てられたCPU使用時間が満了する
17.gif
  • 正しい。タスクBより優先度の高いタスクAが実行可能状態になると、OSはタスクAを実行状態に移します。これに伴い、実行状態だったタスクBは実行可能状態に移されます(プリエンプションの発生)。
  • 実行状態から待ち状態になることをプリエンプションとはいいません。
  • タスクCはタスクBと同じ優先度なので、タスクCが実行可能状態になっただけではプリエンプションは発生しません。
  • タスクDはタスクBより優先度が低いためプリエンプションは発生しません。
なお、プリエンプションとは逆に、CPU使用権を与えられたタスクが実行状態に移されることを「ディスパッチング」といいます。

この問題の出題歴


Pagetop