实时系统开发技术综合解析
1. MaRTE OS 功能与实现
MaRTE OS 实现了一系列 POSIX 功能,涵盖 POSIX.13 最小配置文件以及 POSIX.1j 和 POSIX.1d 的一些扩展。这些功能包括:
- POSIX 线程管理 :线程创建、终结、属性设置等。所有线程和线程栈预先分配,线程创建速度极快,且线程数量和栈大小可配置。
- 优先级调度 :实现了 POSIX 要求的两种抢占式优先级调度策略,即优先级内的 FIFO 和优先级内的轮询。
- 互斥锁 :用于线程间的互斥同步,实现了优先级继承和即时优先级上限,避免无界优先级反转。
- 条件变量 :用于条件等待同步。
- 信号 :基本事件通知机制,定时器用其通知定时器到期。
- 时钟 :实现了 POSIX 实时时钟,用于测量时间。
- 定时器 :测量时间间隔或检测时钟达到给定时间。
- 执行时间时钟和定时器 :支持 CPU 时间核算和预算,检测和限制实时应用中的 CPU 时间超限。
- 控制台 I/O :使用 PC 控制台进行 I/O,未来将提供其他 I/O 驱动。
- 时间服务 :支持绝对和相对高分辨率延迟的线程挂起。
- 动态内存管理