回答
SCHED_FIFO和SCHED_RR是所謂的 「實時」 的政策。它們實現POSIX標準指定的固定優先級實時調度。使用這些策略的任務會搶佔所有其他任務,因此可能會輕易陷入飢餓(如果它們不釋放CPU)。
SCHED_FIFO和SCHED_RR之間的區別在於,在具有相同優先級的任務中,SCHED_RR執行具有特定時間片的循環;相反,SCHED_FIFO需要明確產生處理器的任務。
SCHED_OTHER是常用的循環分時調度策略,它根據系統中運行的其他任務爲特定時間片安排任務。
更新:自從Linux 3.14以來,有一個額外的策略叫SCHED_DEADLINE。此策略在Earliest Deadline First隊列之上實施恆定帶寬服務器(CBS)算法。此策略下的每個任務都會分配一個截止日期,並執行最早的截止日期任務。描述此算法的最佳資源是Deadline scheduling in the Linux kernel。
更新2:自Linux 4.13開始,SCHED_DEADLINE已將CBS替換爲Greedy Reclamation of Unused Bandwidth (GRUB) algorithm。
請注意,Linux調度程序可以減少SCHED_DEADLINE下的不正常進程,以便其他進程獲得CPU時間。見例如https://www.youtube.com/watch?v=AmyfSjRMcIY和http://retis.sssup.it/~jlelli/talks/rts-like14/SCHED_DEADLINE.pdf。即如果一個SCHED_DEADLINE過程說它需要5個時間片中的2個時間片,但是消耗的時間多於這個時間片,那麼它將在必要時被調整。爲了在Linux上實現硬實時,SCHED_DEADLINE可能是最好的選擇。 – 2015-10-25 12:19:44
- 1. 在Linux上SCHED_FIFO和SCHED_RR
- 2. Linux SCHED_OTHER(CFS)用戶時間vs SCHED_RR和SCHED_FIFO用戶時間
- 3. Linux調度策略:SCHED_FIFO對SCHED_RR
- 4. 實時使用Linux實時調度優先級(SCHED_FIFO和SCHED_RR)?
- 5. SCHED_FIFO線程被Linux中的SCHED_OTHER線程佔用
- 6. Linux CFS志願者上下文切換SCHED_OTHER SCHED_FIFO
- 7. 尼斯值與靜態priorites(Linux的調度)
- 8. Windows與Linux的差異 - 差異
- 9. 使用Linux差異
- 10. pthread_create在Linux內核2.4.20和2.4.36差異
- 11. MS Windows和Linux之間的Calloc差異?
- 12. Windows和Linux之間的WxPython差異
- 13. 使用SCHED_FIFO在Linux上看到糟糕的實時性能使用SCHED_FIFO
- 14. setscheduler()在Linux內核
- 15. 的FreeBSD與Linux的差異
- 16. 爲什麼設置計劃的策略和參數在我的程序中失敗 - pthread Linux?
- 17. 在Linux中獲取/設置pthread調度策略
- 18. 差異MEMSET和ZeroMemory
- 19. Numpy和差異()
- 20. 差異()和alert``
- 21. Javascript!和!差異
- 22. 差異和[DBO]
- 23. 差異和du
- 24. 用於Linux和Windows的wchar_t之間的差異和轉換
- 25. 連續行之間的Linux差異
- 26. 差異
- 27. 差異
- 28. 在Windows/Linux上的硒差異
- 29. Python的多Linux窗口差異
- 30. Linux時間命令輸出的差異
相當與那一個linux重複:-):http://stackoverflow.com/questions/9374653/real-time-scheduling-in- – 2012-02-22 12:44:38
不完全是,SCHED_OTHER沒有提到 – eve 2012-02-23 09:06:20