0
在嵌入式項目中,我們在決定哪些調度策略,以use.For某些測試用例傳遞面臨的困難,我們需要使用SCHED_OTHER
和其他一些測試情況下,我們需要使用SCHED_RR
。但如果我們對一些任務和其他設置SCHED_RR
爲SCHED_OTHER
,所有的測試用例passing.Was其合法以及是否有任何額外的副作用,在同一項目中的兩個政策的這種用法?在同一個項目中使用2種不同的調度策略
在嵌入式項目中,我們在決定哪些調度策略,以use.For某些測試用例傳遞面臨的困難,我們需要使用SCHED_OTHER
和其他一些測試情況下,我們需要使用SCHED_RR
。但如果我們對一些任務和其他設置SCHED_RR
爲SCHED_OTHER
,所有的測試用例passing.Was其合法以及是否有任何額外的副作用,在同一項目中的兩個政策的這種用法?在同一個項目中使用2種不同的調度策略
我假設你在談論Linux?那麼是的,完成一些使用SCHED_RR運行的任務以及其他使用SCHED_OTHER運行的任務是完全可以接受的。
請注意,SCHED_RR任務總是會在SCHED_OTHER任務之前運行。因此,如果將任務設置爲SCHED_RR,則測試運行得更好並不奇怪。需要注意的是,您的SCHED_RR任務可能會使用100%的CPU,並且會癱瘓SCHED_OTHER任務。當你說某些輸入信息正在下降時,可能會發生這種情況。
邁克爾
爲了更清晰我的查詢,我有服務任務,口譯員任務等。他們將完成通過FrontPanel從用戶那裏獲得輸入的工作,並且執行所提供的步驟。如果我設置了策略SCHED_OTHER,那麼自動運行的情況就像自動從前面板獲取所有輸入並連續執行其任務超過5小時一樣失敗。但是如果我將該策略設置爲SCHED_RR,那麼它將通過。由於循環賽對高優先級的任務有一定的重要性,因此可能會運行。但對於某些情況下的此政策,我手動提供的輸入不被接受。幫幫我 – Gughan 2012-02-28 12:28:07