フィードバック待ち行列方式
Multilevel Feedback Queue
ふぃーどばっくまちぎょうれつほうしき
優先度の異なる複数の待ち行列を用意し、与えられた実行時間(タイムクウォンタム)を使い切っても終わらなかったタスクを、1段低い優先度の待ち行列に移していくスケジューリングの方式。処理時間の短いタスクは高い優先度のまま早く終わり、長いタスクは次第に優先度が下がるので、実行時間が事前に分からなくても短いタスクを優遇できる。
Related
関連キーワードの用語
CPUを割り当てられたタスクが、自ら処理を終えるか待ち状態になるまでCPUを使い続け、OSが強制的に実行を中断して他のタスクに切り替えないスケジューリングの方式。タスクの切替えの負担は小さいが、1つのタスクがCPUを長く使うと他のタスクの応答が悪くなる。
タスク(プロセス)の状態の一つで、CPUが割り当てられて処理を実行している状態。プリエンプティブなスケジューリングでは、タイムクウォンタムを使い切ったり優先度の高いタスクが実行可能になったりすると、実行可能状態に戻される。入出力の完了などを待つ場合は待ち状態に移る。
実行中のタスクからOSがCPUを強制的に取り上げ、優先度の高いタスクなどに割り当てられるスケジューリング方式。応答性に優れ、1つのタスクがCPUを独占するのを防げる。現在の汎用OSの多くが採用している。
割込みの発生、入出力の完了、他のタスクからの通知などの事象(イベント)が起きたことを契機に、OSが実行するタスクを切り替えるスケジューリングの方式。一定の時間ごとに切り替えるタイムスライスの方式と対比され、事象への応答が速いので、リアルタイムOSで優先度に基づく切替えと組み合わせて使われる。
実行中のプログラムのインスタンス。プログラムコード、データ、実行状態(レジスタ値、プログラムカウンタなど)を持つ。OSによって生成・実行・終了が管理される。スレッドとは異なり独立したメモリ空間を持つ。
プロセス内で実行される処理の最小単位。同一プロセス内の複数のスレッドはメモリ空間を共有するため、プロセス間通信より軽量な並行処理が可能。軽量プロセスとも呼ばれる。
