三种通用嵌入式操作系统的分析与比较
的能力开发新的嵌入式应用程序;更多的优先级别, 256个优先级别给予开发人员更大的灵活性来控制嵌入式系统的调度;以及更好的控制,对线程时间片级的控制可以支持对调度机制更大的控制。
2)内核大小
WinCE的内核可以很小,最小内核可以不足 350kB,因为系统的大部分功能都在各自的功能模块中实现。不过,它是 WinCE操作系统真正的核心,主要完成 6类功能,即处理器调度、内存管理、异常处理、系统内的通信机制、为其他部分提供核心调用例程、为系统范围内的调试提供支持。
3)拥有良好的通信能力
Wince对通信的支持是十分灵活的,可完成的通信任务包括:从网络或台式机下载文件;基于Wince的设备之间的信息交换;发送和接收电子邮件;向服务器发送数据;浏览Internet;阅读条形码等。为了实现这些不同的通信要求,Wince能支持多种通信硬件,如串行电缆、红外线收发器,无线收发器、调制解调器和条形码阅读器等。 Wince支持两种基本的通信技术:串行通信和网络通信。
4)支持超过 1400个 Win32 API
有了这些 API,开发者就能利用大量其他的编程资源、工具、软件例子以及文档来进行开发工作,降低了培训成本,缩短了进入市场的时间。
5)模块化设计方法
Wince的模块化设计使得它能够在大量的平台上定制使用,开发者可以使用满足平台系统需求的最小软件模块和组件集合来设计嵌入式系统平台,从而使内存用量最小并最大可能地提供操作系统的性能。
2.3 Linux
Linux是 Unix操作系统的克隆,可以免费使用,遵循 GPL声明,可以自由修改和传播,是一个自由的操作系统。Linux起源于芬兰一个名为 Linus Torvalds的业余爱好,但是现在已经是最为流行的一款开放源代码的操作系统。从 1991年问世到现在, Linux已发展成为一个功能强大、设计完善的操作系统,不仅能够运行于 PC平台,还在嵌入式系统方面大放光芒,这与 Linux具有的良好特性是分不开的。简单的说,嵌入式 Linux操作系统具有以下主要特性:
1 )内核可裁剪,多任务支持、多用户支持,性能高、稳定性好。
2 )开放的源代码,丰富的软件资源,广泛软件开发者的支持,价格低廉。
3)良好的可移植性。可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。Linux是一种可移植的操作系统,为运行 Linux的不同计算机平台与其他任何机器进行准确有效的通信提供了手段,不需要另外增加特殊的通信接口。
4)可以运行在许多硬件平台上。目前 Linux已经可以在数十种 32位和 64位芯片中运行,他们包括 Intel X86、Intel XScale、ARM、PowerPC、MIPS、ALPHA、SPARC等。而且能支持对称多处理器(SMP)的机器。
5)不仅可以运行许多自由发布的应用软件,还可以运行许多商品化的应用软件。目前有越来越多的应用程序厂商支持 Linux,而且通过各种仿真软件, Linux系统还可以运行许多其他操作系统的应用软件,如 Windows等。
6)可靠的系统安全。 Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
7)强大的网络功能。 Linux诞生、成长于网络,自身的网络功能相当强大,具有内置的 TCP/IP协议栈,可以提供 FTP、PPP、Telnet、WWW等服务;同时还可以通过应用程序向其他系统提供服务,例如向其他 Windows用户提供类似于网络邻居的 Samba文件服务。
8)常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。
9)针对嵌入式的存储方案,提供实时版本如 RT Linux和完善的嵌入式解决方案。完善的中文支持,强大的技术支持,完整的文档。 3三种嵌入式操作系统的比较
Linux与嵌入式 VxWorks的比较
VxWorks作为嵌入式实时操作系统,其在通信、国防和工业上的应用有着很大的优势,但是其昂贵的费用也一定程度上使用户望而却步。我们从下面六个方面对 Linux和 VxWorks进行比较。
1)实时性
VxWorks实时性在三种操作系统中是最强的,Linux的实时性需要改进,可用 RT-Linux及 RTAI等模块弥补。
2)内核大小VxWorks内核最小为 8kB,即便加上其它必要模块,所占用的空间也很小,Linux核心从几十 KB到500KB。整个嵌入式环境最小才 100KB左右,并且以后还将越来越小。
1 )购买费用 Linux是免费的,可以从网上下载内核,而VxWorks必须购买,且价格不菲。
2 )技术支持
Linux有全世界的自由软件开发者提供支持,而 VxWorks由开发商一家提供有限的技术支持。
5)应用软件移植
Linux比较容易,代码开放,有许多应用软件支持,而 VxWorks因为许多是封闭系统,所以应用软件移植方面
- 数据处理指令之: CMP比较指令(08-13)
- 数据处理指令之:CMN负数比较指令(08-13)
- 高效的C编程之:布尔表达式(08-30)
- 设计超低功耗的嵌入式应用(二):五种电源模式的详细介绍(09-22)
- 设计超低功耗的嵌入式应用(三)(09-22)
- 基于VHDL的智能温室环境测控系统专用CPU设计(06-05)