Linuxカーネルで複数のスケジューリング方針が同時に働くことはできますか? FIFOとラウンドロビンを同じマシンで使用できますか?Linuxカーネルのスケジューリング方針
答えて
はい、Linuxでは、タスクのスケジューリング方法がSCHED_BATCH、SCHED_FAIR、SCHED_FIFO、SCHED_RRの4つ以下です。
スケジューリング方法にかかわらず、すべてのタスクも固定のハードプライオリティ(バッチおよびフェアでは0、FIFOおよびRRのRTスケジューリング方法では1から99)が固定されています。まず、タスクが優先順位で選択されます。最も優先度の高いものが優先されます。
しかし、同じ優先度のを実行するためのいくつかのタスクでは、スケジューリング方法が次のようになっています。公正なタスクは割り当てられた重み付けに対してのみ実行されます他の公平なタスクに関するCPU時間の分け前、FIFOタスクは別のタスクに降伏する前に固定されたタイムスライスのために実行されます(同じ優先度 - より高い優先度のタスクが常に勝ちます)。そしてRRタスクはブロックするまで同じ優先度を持つ他のタスクを無視します。
上記の記述は正確ではあるが、完全ではないことに注意してください。CPU予約機能を考慮していないため、異なるスケジューリング方法の詳細が相互に作用します。
はい! OSの異なる段階で異なるスケジューリング方針をとっている日。ラウンドロビンは、コア実行を開始する前に一般的に行われます... FIFOは、新しいプロセスの開始段階で完了しました... !!!
@chandra:あなたは中期の長期スケジューラを見ることができます。彼らはすべて同じカーネルに住んでいます。 – RKT
- 1. Linuxユーザー空間とカーネル空間スケジューリング
- 2. スケジューリングcron Linux
- 3. Linuxカーネルのインストール
- 4. Linuxカーネルのlist.h
- 5. Linuxカーネルのバディシステムアロケータ
- 6. Linuxカーネルのメジャーページフォルトハンドラ
- 7. Linuxカーネルのカスタムネットワークプロトコル
- 8. Linuxカーネルのピンマルチプレキシング
- 9. Linuxスケジューリング:タイムスライスと量子コンセプト
- 10. Linuxカーネル `min`マクロ
- 11. cleanup_module Linuxカーネル
- 12. Linuxカーネル機能
- 13. ガットエラー:Linuxカーネル
- 14. Linuxカーネルでは
- 15. glibとlinuxカーネル
- 16. Linuxカーネルmmu create_page_tables
- 17. linuxカーネル開発
- 18. 設定Linuxカーネル
- 19. は、Linuxカーネル
- 20. Linuxカーネル開発
- 21. LinuxカーネルのI2Cライトアクノリッジポーリング
- 22. Linuxカーネルでのプリエンプション
- 23. Linuxカーネルのnr_cpusブートパラメータ
- 24. 現在のLinuxカーネルのデバッグ方法
- 25. 組み込みLinuxカーネルとデスクトップLinuxカーネルの相違
- 26. Linuxカーネルのエクスポート方法/ proc/[pid]/io?
- 27. Linuxファイル記述子多重化の方針(selectその他)
- 28. どのLinux OSにLinuxカーネル2.6.32
- 29. nice値対静的priorites(Linuxのスケジューリングは)
- 30. linux 2.6スケジューリングとプリエンプション - preempt_countの使用
スケジューリングポリシーごとに独立した実行キューと待機キューがありますか? –
スケジューリングポリシーファミリには、RT実行キュー(RRとFIFO)とフェアランキュー(niceレベルとバッチ)の実行キューがあります。 AFAIK、待機キューは、待機中のオブジェクトごとであり、スケジューリング方針には関係しません。 – gby
ええ..待ち行列はデバイスごとです –