HRTOS / ARCHITECTURE / MEMORY

内存模型 Memory Model

内存模型描述系统运行期间如何访问、管理和共享内存对象, 以及对象的生命周期、访问路径和资源成本如何受到约束。 它将物理存储布局与运行时行为连接起来,为内核设计、任务协作和资源分析提供统一视角。

Runtime Access Object Lifecycle Resource Constraints
01 / DEFINITION

从存储布局到运行时语义

内存布局关注存储空间与数据的组织方式;内存模型则关注运行过程中, 软件如何使用这些存储资源,以及访问行为需要满足哪些约束。

LAYER / 01

存储空间

芯片 RAM、寻址方式、寄存器与实际容量。

LAYER / 02

运行时对象

任务上下文、控制数据、队列、资源池及应用变量。

LAYER / 03

访问与生命周期

对象由谁访问、何时有效、如何共享和释放。

LAYER / 04

工程约束

容量、同步、访问成本及异常处理行为。

02 / ACCESS SEMANTICS

运行时访问语义

运行时访问规则由对象的用途、访问主体和内核接口共同决定。 以下是软件层面的逻辑分类,不代表 8051 硬件天然提供了相应的内存隔离。

01

任务运行数据

包括任务执行过程中使用的栈、局部状态及任务相关控制信息。 任务切换时需要保存和恢复的具体内容,取决于 HRTOS 的上下文管理实现。

Task Context · Stack · Execution State
02

内核控制数据

包括调度状态、任务管理信息、资源索引和通信控制数据。 应明确其修改入口、并发访问关系及数据一致性要求。

Kernel State · Control Data · Invariants
03

共享对象与 IPC

多任务或中断可能访问同一对象。需要根据访问主体和并发关系, 选择消息传递、临界区或其他适用的同步方法。

Shared State · IPC · Synchronization
04

动态资源与内存池

对象可以来自动态分配器或预先建立的资源池。 分配策略、容量上限和失败处理方式决定其实际运行时特征。

Allocation · Pool · Failure Handling
03 / OBJECT LIFECYCLE

对象生命周期与所有权

运行时内存管理不仅涉及空间是否足够,也涉及对象何时创建、何时有效、 能否被其他执行主体访问,以及何时可以安全回收。

PHASE / 01

创建或初始化

确定对象容量、初始状态及有效范围。

PHASE / 02

使用与访问

通过明确的引用和访问路径操作对象。

PHASE / 03

共享或移交

按约定同步访问,并明确引用或所有权变化。

PHASE / 04

释放或复用

确认不再使用后回收资源,防止悬空访问和重复释放。

04 / RUNTIME CONSTRAINTS

运行时约束模型

对实时系统而言,关键不是笼统地要求所有内存访问都具有相同成本, 而是识别关键路径中的访问行为,并对其资源需求和执行时间建立可验证的边界。

约束维度 需要回答的问题 常见验证方式
访问路径 对象由哪些任务、内核入口或中断处理路径访问? 代码审查、调用关系与访问路径分析。
生命周期 对象何时有效,何时可以安全释放或复用? 状态检查、所有权规则与边界测试。
容量边界 任务、队列、资源池及栈空间的上限是多少? 编译映射文件、静态统计、运行时计数和压力测试。
并发访问 任务切换或中断介入时,共享数据是否仍然一致? 临界区分析、同步机制审查及并发压力测试。
执行成本 分配、释放、访问与同步操作在关键路径上的成本如何? 结合实现分析、反汇编、测量及必要的最坏情况分析。
失败行为 资源耗尽、非法参数或对象失效时,系统如何处理? 错误路径检查、边界测试和故障注入。
05 / REAL-TIME IMPLICATIONS

内存模型如何影响实时行为?

内存管理策略会影响任务执行路径、临界区长度、资源耗尽风险和上下文切换开销。 这些影响需要结合具体实现分析,不能只依据模型名称得出结论。

01

固定容量资源

预先限定对象数量有利于明确资源上限。 仍需分析对象大小、分配算法、资源竞争及分配失败路径。

02

动态分配机制

动态分配的执行成本取决于算法和运行状态。 若用于严格时限路径,应证明成本上界,或考虑使用更易分析的固定资源方案。

03

共享访问与同步

同步机制可能引入等待或中断屏蔽时间。 应分析保护范围、访问主体和临界区对响应时间的影响。

04

上下文与栈资源

任务现场保存、中断嵌套和函数调用共同影响存储需求。 应根据实际内核路径与编译结果进行预算和验证。

返回内存架构 HRTOS Architecture Documentation