探讨选择实时操作系统(RTOS)的要点
员在不被存储器分配限制的条件下享有Java的好处。
Sun和DDC-I都实现了RTSJ。DDC-I的实现支持x86和PowerPC平台。Aonix有一个称为PERC的类似平台。这些平台以实时、同时的垃圾回收为特征,从而使在不受存储器分配限制的情况下,在Java内编写实时应用成为可能。
但因系统必须允许线程为垃圾回收器进行转换,所以实时要求并非那么紧迫。另一方面,垃圾回收器将耗费时序资源,所以,只有实时任务方可保证满足一定的期限要求。快是好事,但及时才是RTOS的天条。
考察实时平台时,考虑之一是存储器分配对系统的整体影响。许多系统可工作在从不改变的静态分配环境,但更多的动态系统可从实时垃圾回收中获益。研究表明,垃圾回收的效益与确定的存储器分配是可比的。
围绕诸如Java和C#等虚拟机类型平台的另一个问题是对just-in-time(JIT)编译器的使用限制。基于这些系统的实时系统必须采用类似C和C++等所用的提前(ahead-of time,AOT)编译器。
设计师会因其更高的生产力、更低的出错率以及安全性等特点选用Java 或C#。所以,对制定一个称为 JSR-302的用于对安全有至高要求应用的Java规范就不足为奇了。
保护RTOS
RTOS受到其运行的硬件平台的限制。可对缺少存储器保护的硬件加以保护,但安全级别会受到限制。但存储器和虚拟机可以更高水平的安全性支持引导。诸如SE Linux、Green Hills Integrity和 LynuxWorks LynxSecure Embedded Hypervisor以及 LynxOS-SE RTOS内的安全策略可比典型RTOS提供可靠得多的保护。但成本也高,所以开发者需对此进行权衡。
实时系统开发者不得不应对策略实现和边界问题。取决于信息的来所去处,安全支持会花很长时间。正是为此引入了分区系统,所以,可在边界采取安全措施且把应用的非实时部分放在这部分空间内。
可感知OS的调试器
当考虑选用操作系统时,对调试器的支持是个关键。这种支持体现在两个方面:内核和设备驱动器调试以及操作系统感知。
内核调试对设备驱动器的创建和支持以及内核强化很重要。在许多情况,为处理RTOS的内核,需要专用调试器。它也要求能理解内核环境以及应用环境。
OS感知可更深入地了解操作系统。支持方式可以是从提供有关OS服务状态的信息到调整任务调度等方方面面。同样,能感知OS的调试器可在停止其它应用或线程的同时允许其它应用或线程的运行。
- Linux嵌入式系统开发平台选型探讨(11-09)
- 嵌入式系统中文输入法的设计(03-02)
- 基于MPC755的嵌入式计算机系统设计(05-10)
- WinCE下光电编码器的驱动程序设计(04-12)
- 为什么嵌入式开发人员要使用FPGA(05-13)
- VxWorks几种常用的延时方法介绍(05-16)