0

SCHED_RR の 1 ~ 99 を超えて POSIX スレッドの優先順位の範囲を増やす方法を知りたいです。SCHED_RR の 1 ~ 99 の範囲を確認するために sched_get_priority_min と sched_get_priority_max を呼び出しましたが、より高い優先度レベルを使用する別のオペレーティング システム用に記述されたコードを移植しています。各スレッドに同じ相対的な優先度を持たせたいのですが、スレッドが異なるはずのスレッドに同じ優先度を強制的に共有させたくありません。

4

1 に答える 1

0

あなたはおそらくすでにそれらを読んだでしょうが、manページは十分に明確に見えます:

スケジューリングの優先順位の範囲は他のPOSIXシステムによって異なる場合があるため、ポータブルアプリケーションでは、仮想優先順位の範囲を使用して、sched_get_priority_max()およびsched_get_priority_min()で指定された間隔にマップすることをお勧めします。POSIX.1-2001では、SCHED_FIFOとSCHED_RRの最大値と最小値の間に少なくとも32のスプレッドが必要です。

これを変更するためにひねるノブがあるのではないかと思うので、カーネルを変更するか、提案されているように優先順位をスケーリングすることに固執していると思います。率直に言って、99以上の優先順位が、実際のパフォーマンスで実際に豆の山に相当するのかどうか疑問に思う必要があります。

于 2011-04-17T18:07:59.853 に答える