HRTOS / CORE MODULES

任务间通信 IPC

在实时操作系统中,任务不仅需要独立运行,还需要协调执行、共享资源和交换数据。 IPC(Inter-Process Communication,任务间通信) 提供了这些协作场景所需的基础机制。HRTOS IPC 文档围绕事件、信号量、互斥锁、邮箱和消息队列展开,帮助你根据实际问题选择合适的通信方式。

任务同步 资源协调 数据传递 并发控制

01 · 状态同步

STATE SYNCHRONIZATION

当一个任务需要等待某个条件成立,或者另一个执行单元通知状态发生变化时,可以从事件机制入手。 选择前应确认事件的触发、清除、等待和唤醒语义。

02 · 资源控制与同步

RESOURCE CONTROL

多个任务可能需要协调资源使用,或在满足特定条件之前暂停执行。 信号量和互斥锁虽然都与同步有关,但设计目的并不相同。

注意: 信号量不能简单等同于互斥锁。涉及共享资源保护时,应根据 HRTOS 对应接口的实际语义判断; 不要仅凭名称推断是否支持优先级继承、递归获取或特定的超时行为。

03 · 任务间数据通信

DATA COMMUNICATION

当任务之间需要传递数据时,应重点考虑消息容量、数据覆盖策略、排队能力以及发送端和接收端的处理速度。

04 · 如何选择 IPC 机制

DESIGN GUIDE

先明确要解决的问题,再选择机制。不要因为多个接口都能让任务等待或唤醒,就把它们视为可以随意替换的工具。

需要通知某个状态发生变化

从 事件机制 入手,重点确认事件如何产生、等待、清除,以及多个任务参与时的具体行为。

需要表达计数或同步条件

评估 信号量,重点检查计数规则、获取与释放操作,以及等待和超时语义。

需要保护共享资源

评估 互斥锁,重点检查锁的所有权、释放责任和任务优先级相关行为。

需要在任务之间传递数据

根据数据模型选择 邮箱 或 消息队列,并明确容量、覆盖、排队和队列满时的处理策略。

以上是通用的设计选型思路,不替代 HRTOS 接口规范。具体的阻塞行为、调度影响、中断上下文限制、返回值和边界条件,应以相应 API 文档及实际实现为准。

推荐学习路径

先理解同步与资源协调,再学习数据传递。阅读每个专题时,建议同时核对接口定义、调用约束和边界条件。

STEP 01 事件机制

理解状态通知

STEP 02 信号量

理解计数同步

STEP 03 互斥锁

理解资源保护

STEP 04 邮箱

理解消息交接

STEP 05 消息队列

理解消息排队

进一步了解 HRTOS 的任务管理、调度与内存管理机制。