2012-02-17 102 views
0

在嵌入式項目上工作時;在將調度策略從SCHED_OTHER更改爲SCHED_RR期間,我遇到了計時器問題和流加載延遲。有些問題在SCHED_OTHER期間不會到達,而是到達SCHED_RR(循環賽)。調度策略

在更改調度策略時會發生什麼樣的影響。在策略更改期間在嵌入式項目中實施內核模塊時,需要注意什麼?

回答

0

SCHED_RR帶有時間片,所以如果過程完成時間片 ,下一個過程將依次進行。如果您的時間片足夠大,則短IO進程 將比Cpu受到影響,因爲cpu任務將阻止整個時間片的CPU。但是,如果你減少時間片,你會得到更多的上下文切換,並且爲了這個更高的責任而減少性能。我還提供了重點。

SCHED_OTHER不像RR,所以不提供靜態優先級。 它有一個動態優先級,如果進程已準備好運行,但在 等待隊列中,它將增加。如果進程激活,它將被重置爲0。您還可以擴展與漂亮19的動態值-20(19的過程是好的,等待更多)

我大多采用SCHED_OTHER和SCHED_FIFO在嵌入式系統

問候 肯尼

+0

謝謝你提供輸入的肯尼。 – Gughan 2012-02-17 08:36:08

+0

但是在這個關於如何減少進程的時間片的時間,有沒有posix函數呢?而且對於SCHED_OTHER,那個動態優先級是什麼,爲此使用哪個API? – Gughan 2012-02-17 08:37:40

+0

改變你可以posix函數的漂亮的價值http://linux.die.net/man/2/nice動態值本身你不能改變,這將是討厭 – phschoen 2012-02-17 08:57:57