内存视图描述的是:系统如何在运行过程中管理内存资源,并保证其行为不会破坏时间确定性。
在 HRTOS 中,内存不再只是“存储空间”,而是参与系统执行时间构成的时间变量源。
任何不可预测的内存行为,都等价于不可预测的执行时间。
动态内存分配(malloc/free)在实时系统中是高风险操作,因为其执行时间不可界定。
HRTOS 中通常采用:
• 静态分配(Compile-time allocation)
• 内存池(Memory Pool)
• 固定块分配(Fixed block allocator)
核心原则:Allocation time must be bounded.
动态分配会产生内存碎片,导致分配时间逐渐不可预测。
这会引入“时间漂移效应(Timing Drift)”。
在 RTOS 中,这是比“空间浪费”更严重的问题。
Cache 命中(Hit)与未命中(Miss)会导致访问时间差异数倍变化。
因此内存访问不再是常量操作,而是随机变量。
RTOS 必须通过:
• Cache partitioning
• Locking critical memory region
• Worst-case analysis
多任务系统中,任务之间必须具备严格的内存边界。
否则会产生:
• 数据竞争(Data Race)
• 时间干扰(Timing Interference)
在 HRTOS 中,隔离不仅是安全问题,也是实时性问题。
内存系统的不确定性最终会转化为任务执行时间的不确定性。
因此可以建立核心关系:
Memory Behavior → Execution Time → System Determinism