Linux調度的實時性
由于Linux本身是一個面向桌面系統(tǒng)的操作系統(tǒng),因此將它應用于實時系統(tǒng)中會存在如下一些問題:
本文引用地址:http://www.biyoush.com/article/148454.htm●Linux系統(tǒng)中的系統(tǒng)時鐘周期為10 ms,對于實時系統(tǒng)來說,這個周期比較長,所以它不能提供精確的定時,滿足不了實時系統(tǒng)精確定時的要求。
●對于Linux 2.4版本的操作系統(tǒng),當一個進程因調用系統(tǒng)調用而進人內核態(tài)運行后,它在某些情況下屬于有條件剝奪型內核,從雨使得調度延時不可預測,所以它不能滿足硬實時的要求。
●由于使用虛擬內存技術,當發(fā)生頁出錯時,需要從硬盤中讀取交換數(shù)據(jù),但硬盤讀/寫因存儲位置的隨機性會導致隨機的讀/寫時間,這在某些情況下會影響一些實時任務 的截止期限。
●在2.4版的內核里,查找最佳候選就緒進程的過程是在調度器調用函數(shù)schedule()時來進行的,每一次調度都要在for()循環(huán)中遍歷就緒進程并調用函數(shù)goodness(),所以 這種查找過程與當前就緒進程的個數(shù)相關。因此,查找所耗費的時間是當前就緒進程個數(shù)有關的,這與實時系統(tǒng)的要求相違背。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論