Linuxでサポートされている最小ラウンドロビンスケジューリング間隔はいくらですか?

Linuxでサポートされている最小ラウンドロビンスケジューリング間隔はいくらですか?

何らかの理由で、私は10のプロセスが好みを通して同じCPUコアを共有したいと思います。

ご存知のように、プロセス間のCPU共有を実現するには、Linuxラウンドロビン(RR)スケジューリングポリシーを利用できます。

Linuxカーネル3.9以降では、ファイルを変更してRRスケジューリング間隔を設定できます/proc/sys/kernle/sched_rr_timeslice_ms。デフォルトのRRスケジューリング間隔は100msです。

私の質問は次のとおりです

  1. RRスケジューリング間隔を100μsに設定したいです。つまり、あるプロセスが100μsの間実行され、別のプロセスが実行されます。ただし、値を/proc/sys/kernle/sched_rr_timeslice_ms1ms未満に設定できませんでした。現在、Linuxカーネルでサポートされている最小RRスケジューリング間隔が1msかどうかを知りたいです。

  2. Windriver Linuxでサポートされている最小RRスケジューリング間隔が何であるかを知っている人はいますか? Windriver Linuxは組み込みシステムで広く使用されているため、オペレーティングシステムのリアルタイム要件が高くなります。

  3. ミューテックスを使用して、10個のプロセスがすべて1ミリ秒以内に少なくとも1回実行されるようにできるかどうか疑問に思います。つまり、1つのプロセスは100μsの間実行され、次に他のプロセスがロックされ実行されるようにミューテックスのロックを解除します。このメカニズムは機能しますか?

  4. 上記の方法では、10個のプロセスを10個のスレッドに変更した場合はどうなりますか?効率的なスレッド切り替えメカニズムはありますか?

ベストアンサー1

おすすめ記事