私は、スレッドスケジューリングの方針と優先順位はLinuxカーネルによって決まり、sched_setschedulerのようなシステムコールが表示されるまでは、Linuxで実行されているアプリケーションを書くときにコードで変更することはできません。私はなぜLinuxがアプリケーション用のこの種のインターフェイスを提供しているのだろうか。なぜなら、開発者が自分のアプリケーションのユーザーエクスペリエンスを向上させ、アプリケーションで実行されているスレッドのスケジューリング優先度をできるだけ高くするようにしたいのであれば、sched_setschedulerこれは、同じOS上で実行されている他のアプリケーションを飢えさせることになります。Linuxでスレッドがスケジュールポリシーと優先度を設定できるのはなぜですか?
0
A
答えて
3
は、周りのことについて、他の方法を考える:どのようになりますこれまでセットのスケジューリングポリシーと優先順位OS がは、あなたがそれを行うには手段を提供しなかった場合は?ユーザー/管理者がこれらの作業を行うためのツールには、そのようなAPIが必要です。
はもちろん、あなたがリアルタイムにスケジューリングポリシーと高い優先順位を設定するように、多くの操作のための権限を必要としています。いつものように、root
(UID 0)は何もすることができますが、能力てはるかにきめ細かい制御があります(CAP_SYS_NICE
を持つプロセスは、すべての作業が許されている)と優先へのアクセスを許可するリソース制限 。詳細については、sched(7)
のセクション「特権とリソースの制限」を参照してください。
あなたがのための権限を持っていない何かを変更しようとすると、sched_setscheduler()
はちょうど-1
最後はEPERM
にerrno
を設定戻ります。
関連する問題
- 1. ブースト付きLinuxでのスレッド優先度の設定
- 2. 優先度設定のスレッド
- 3. 優先度キューで優先度を設定する方法
- 4. 通常の優先順位プロセスで、単一スレッドの優先度を15以上に設定できますか?
- 5. 優先度の逆転では、なぜ優先度の高いプロセスが中優先度のプロセスを先取りできないのですか?
- 6. スレッドの優先度とスレッドの精度
- 7. Linuxのスレッド優先度とスケジューラを変更する
- 8. メインスレッドの優先度を設定することはできますか?
- 9. UIスレッドのスレッド優先度はどのくらいですか?
- 10. QtのGUIスレッドに優先度を設定する
- 11. ライブラリーの優先度を設定する
- 12. スレッドでスレッドの優先度を低くする
- 13. 優先度ツリーは、vがuの子であるときはいつでも優先度(u)≥優先度(v)であるバイナリツリーです。
- 14. スレッドの優先度を変更する
- 15. linux c/C++プログラミングサポートは、プロセスの優先度を設定していますか?
- 16. Windows 7でネットワークアダプタのメトリックの優先度を設定する
- 17. MemSqlでクエリの優先度を設定する方法
- 18. 優先度の低いスレッド/プロセスでOracleインデックスを作成できますか?
- 19. 優先度を使用するときにRequireJSが機能しないのはなぜですか?
- 20. Azure Notification HubでGCM優先度を設定する方法
- 21. s3アップロードで優先度を設定する方法
- 22. iPhoneでいくつかのレイヤの優先度を設定する方法は?
- 23. ロケーションサービスGPS、高優先度を設定
- 24. スレッドの優先度を変更 - Unity 3d
- 25. nice()は、スレッドの優先度やプロセスの優先度を変更するために使用されますか?
- 26. 優先度キューを表すヒープがバイナリツリーより優れているのはなぜですか?
- 27. static_castのような演算子の優先度はなぜですか?
- 28. GCDスケジューリング/スレッド間の優先度
- 29. perfomSelector:withObject:afterDelay:私は低い優先度を求めることができますか?
- 30. Xcodeで自動サイズ設定よりも制約が優先されるのはなぜですか?