嵌入式实时操作系统(RTOS)是一种专门为嵌入式系统设计的操作系统,其核心特征是能够保证在严格的时间限制内完成任务处理。因此需要从各方面努力保证操作响应的实时性。因此混合性关键任务调度和资源隔离机制就显得尤为重要。
混合性关键任务是指在同一硬件平台上运行具有不同关键性等级任务的系统。
一般来说,常见的任务包括:安全性关键任务 任务性关键任务 非关键任务
常见的调度策略有:
1固定优先级调度,每个任务分配静态优先级 关键性高的任务通常获得更高的优先级
2关键性单调优先级分配,关键性越高 优先级越高;同一关键性级别内采用速率单调(RM)或截止时间单调(DM)分配
3 自适应调度策略,有模式切换调度 弹性调度 资源预留调度
4 虚拟化调度,使用微内核隔离不同关键性任务,每个关键性级别运行在独立的虚拟机 或分区中
常见的资源隔离机制有:
1 时间隔离
时间分区调度:将CPU的时间划分成固定时隙
时间触发架构:基于全局时钟的确定性调度
2 空间隔离
内存保护单元(MPU):限制任务对内存区域的访问
内存管理单元(MMU):更精细的虚拟内存管理
3 通信隔离
受保护的通信通道:关键性域间通信需要安全通道
时间触发通信:基于预定的时间表的确定性通信
4 硬件辅助隔离
TrustZone技术(ARM):划分安全世界和非安全世界
IOMMU:隔离外设访问
缓存分区:防止缓存干扰