嵌入式實時操作系統(RTOS)是一種專門為嵌入式系統設計的操作系統,其核心特征是能夠保證在嚴格的時間限制內完成任務處理。因此需要從各方面努力保證操作響應的實時性。因此混合性關鍵任務調度和資源隔離機制就顯得尤為重要。
混合性關鍵任務是指在同一硬件平臺上運行具有不同關鍵性等級任務的系統。
一般來說,常見的任務包括:安全性關鍵任務 任務性關鍵任務 非關鍵任務
常見的調度策略有:
1固定優先級調度,每個任務分配靜態優先級 關鍵性高的任務通常獲得更高的優先級
2關鍵性單調優先級分配,關鍵性越高 優先級越高;同一關鍵性級別內采用速率單調(RM)或截止時間單調(DM)分配
3 自適應調度策略,有模式切換調度 彈性調度 資源預留調度
4 虛擬化調度,使用微內核隔離不同關鍵性任務,每個關鍵性級別運行在獨立的虛擬機 或分區中
常見的資源隔離機制有:
1 時間隔離
時間分區調度:將CPU的時間劃分成固定時隙
時間觸發架構:基于全局時鐘的確定性調度
2 空間隔離
內存保護單元(MPU):限制任務對內存區域的訪問
內存管理單元(MMU):更精細的虛擬內存管理
3 通信隔離
受保護的通信通道:關鍵性域間通信需要安全通道
時間觸發通信:基于預定的時間表的確定性通信
4 硬件輔助隔離
TrustZone技術(ARM):劃分安全世界和非安全世界
IOMMU:隔離外設訪問
緩存分區:防止緩存干擾