RTEMS, 即实时多处理器系统(Real Time Executive for Multiprocessor Systems),是一个开源的无版税实时嵌入操作系统RTOS。 它最早用于美国国防系统,早期的名称为实时导弹系统(Real Time Executive for Missile Systems),后来改名为实时军用系统(Real Time Executive for Military Systems),现在由OAR公司负责版本的升级与维护。目前无论是航空航天、军工,还是民用领域RTEMS都有着极为广泛的应用。
从体系结构上来看,RTEMS是微内核抢占式的实时系统,他具有下面的优点:
- 优秀的实时性能
- 支持硬实时和软实时
- 支持优先级继承,防止优先级反转
- 支持单调周期调度
- 支持优先级高度协议
- 非常的稳定
- 运行速度快
- 支持多种CPU,无论是ARM, MIPS,PowerPC,i386还是DSP,AVR,Zilog,都可以找到对应的BSP。
- 高度可剪裁内核(目标系统小只有30KB;大可上百兆)1,2,3
- 占用系统资源小,在32位系统中最小的内核只有30Kb左右1,2
- 支持多处理器(不同于SMP,RTEMS中多个处理器是协作关系)
- 提供POSIX API,Linux/UNIX下的程序可以方便移植
- 提供完整的BSD的TCP/IP协议栈以及FTP、WebServer、NFS等服务
- 使用面向对象思想设计,可以大大缩短开发周期
- 核心代码使用C/C++写作,可移植性好
- 支持ISO/ANSI C库
- 支持ISO/ANSI C++库以及STL库
- 支持精简的可重入glibc库
- 支持图形用户界面(Microwindows/Nano-X)
- 支持文件系统(FAT,IMFS等)
- 支持多种调试模式(包括GDB,DDD,串口调试,以太网调试)
- 支持32位处理器,Tiny RTEMS项目将对8位和16位处理器进行支持2
- 支持JAVA虚拟机
|