几种嵌入式实时操作系统的分析与比较
所谓"文件系统"是指负责存取和管理文件信息的机构,也可以说是负贵文件的建立、撤销、组织、读写、修改、复制,以及对文件管理所需的其他资源实施管理的软件部分。VxWorks操作系统在文件系统与设备驱动程序之间使用一种标准的I/O口操作接口,且支持MS-DOS、RT-11、RFS、CD-ROM、RAW等文件系统。这样,在单个VxWorks操作系统中可以运行多个相同或不同种类的文件系统。μC/OS-II是面向中小型嵌入式系统的,即使包含全部功能,编译后内核也不到10 KB,所以系统本身并没有提供对文件系统的支持。但是μC/OS-II具有良好的扩展性能,如果需要也可自行加入文件系统的内容。μClinux继承了Linux完善的文件系统性能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。但一般采用ROMFS文件系统,这种文件系统相对于一般的文件系统(如ext2)占用更少的空间。但是ROMFS文件系统不支持动态擦写保存,对于系统需要动态保存的数据须采用虚拟RAM盘/JFFS的方法进行处理。eCos操作系统的可配置性非常强大,用户可以自己加入所需的文件系统。
2.6 对硬件的支持
VxWorks、μC/OS-II、μClinux和eCos这4种操作系统都支持当前流行的大部分嵌入式CPU。μC/OS-II支持从8位到32位的CPU,VxWorks、μClinux和eCos可以在16位、32位和64位等不同体系结构之间移植。由于μClinux继承了Linux的大部分性能,所以至少需要512KB的RAM空间,lMB的ROM/Flash空间;而μC/OSII和eCos由于本身内核就很小,经过裁剪后的代码最小可以分别为2 KB和10 KB,所需的最小数据RAM空间分别为4 KB和10 KB。总的来说,4种系统对硬件的要求比较低,比较经济。具体比较如表4所列。
2.7 系统移植
嵌入式操作系统移植的目的是使嵌入式操作系统能在某个微处理器或微控制器上运行。4种系统中VxWorks是商用操作系统的有很多API函数及相关技术支持,所以移植和二次开发比较容易,但是移植成本较高。其他3种系统的结构化设计便于把与处理器相关的部分分离出来,所以被移植到新的处理器上也是可能的。μC/OS-II的移植相对比较简单,只需要修改与处理器相关的代码就可以了。μClinux是Linux针对嵌入式系统的一种改良,其结构比较复杂。移植μClinux,目标处理器除了应满足μC/OS-II移植所需的条件外,还需要足够容量的外部ROM和RAM。eCos系统的可移植性明显比μC/OS-II和μClinux好。在eCos系统中,每个硬件平台都有一个单独的目录,用于存放引对这一硬件平台的硬件抽象层的代码和配置信息;而μClinux的硬件抽象层的代码则分布在好几个目录中,通过命令来选择不同硬件平台的代码。所以,修改eCos代码相对简单,移植也相对容易。
结论
这4种嵌入式实时操作系统在嵌入式系统的应用非常广泛,但是又具有各自的特点。根据上述比较,归纳出各自的适用领域。
①VxWorks是一套娄似于Unix的实时操作系统,它内建了符合POSIX规范的内存管理,以及多处理器控制程序,并且具有简明易懂的用户接口,在核心方面甚至可以微缩到8 KB。它由400多个相对独立的、短小精悍的目标模块组成,用户可根据需要选择适当模块来裁剪和配置系统,有效地保证了系统的安全性和可靠性。它被广泛地应用在通信、军事、航空、航天等高尖技术及实时性要求极高的领域,尤其是在许多关键应用方面,VxWorks还是一枝独秀。例如,美国波音公司就在其最新的787客机中采用了此操作系统;而在外层空间探索领域,VxWorks则一直是美国太空总署NASA的最爱。
②μC/OS-II是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核,适合于广大的嵌入式系统开发人员和爱好者入门学习,以及高校教学和科研。μC/OSII很适合开发那些对系统要求不是很苛刻,且RAM和ROM有限的各种小型嵌入式系统设备。
③μClinux最大特点在于针对无MMU处理器设计,可以利用功能强大的Linux资源,因此适合开发对事件要求不高的小容量、低成本的各类产品,特别适用于开发与网络应用密切相关的嵌入式设备或者PDA设备。例如,CISCO公司的2500/3000/4000路由器就是基于μClinux操作系统开发的。
④eCos最大特点是配置灵活,而月是面向深度嵌入 式应用的,很适合用于一些商业级或工业级对成本敏感的 嵌入式系统,例如消费电子类领域中的一些应用。
- 蓄电池化成控制系统中显示功能的实现(11-05)
- 基于μC/OS-II+CPLD的电动车电池管理系统设计(09-14)
- 基于Crotex-M3及μC/OS-II的自动智能防盗窗设计(11-30)
- 基于LPC2138和μC/OS II的超声波测距系统设计(01-14)
- μC/OS-II就绪表算法在Cortex-M3架构上的适配设计(01-22)
- 基于STM32和μC/OS-II的嵌入式数字示波器设计(10-08)