APP下载

嵌入式实验室搭建中操作系统的选择

2015-10-24潘志安

电脑知识与技术 2015年5期
关键词:嵌入式操作系统

潘志安

摘要:该文介绍了目前主流的几种嵌入式操作系统WinCE、VxWorks、μC/OS-Ⅲ、嵌入式Linux,阐述了其特点,并从系统内核、技术支持、开发难度等方面进行了分析与比较,并为高职院校嵌入式实验室中操作系统的选择提出了建议。

关键词:嵌入式操作系统;WinCE;VxWorks;μC/OS-Ⅲ;嵌入式Linux

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)05-0144-02

Choosing Embedded Operating System in the Embedded Lab

PAN Zhi-an

(Information Technology Department, Hubei Polytechnic Institute, Xiaogan 432000, China)

Abstract: In this paper, several mainstream embedded operating systems, i.e., WinCE, VxWorks, μC/OS-Ⅲ and embedded Linux are introduced. Moreover, by making comparison of the 4 operating systems from many aspects including system core, technical support, development difficulty etc., this paper provides advice for embedded laboratory to choose the appropriate embedded systems.

Key words: Embedded Operating System; WinCE; VxWorks; μC/OS-Ⅲ; Embedded Linux

1 引言

随着物联网技术的飞速发展,嵌入式设备已经渗透到人们工作、生活、娱乐的各个方面。嵌入式设备的核心——嵌入式操作系统EOS(Embedded Operating System)负责嵌入式设备的全部软、硬件资源的分配、调度工作,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能[1]。目前,市场上较流行的EOS产品有Microsoft公司的WinCE,Wind River System公司的VxWorks,Micrium公司的μC/OS-Ⅲ,以及开源的嵌入式Linux。

2 常见操作系统介绍

2.1 WinCE

WinCE是微软公司开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上电脑类的电子设备操作系统。它拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境,专门面向只有有限资源的硬件环境。WinCE除了具有Windows系统的许多共性外,又具有嵌入式系统所要求的实时性、内存小、模块化、结构化以及与处理器无关等特点。WinCE的图形用户界面相当出色,同时Embedded Visual C++给嵌入式系统应用程序的开发提供了极大的方便。因此, 利用WinCE开发嵌入式系统或装置不仅可以获得最好的性能,而且能缩短开发周期和降低技术风险[2]。WinCE的特点有:

1)具有灵活的电源管理功能,包括睡眠/唤醒模式;

2)使用了对象存储(object store)技术,包括文件系统、注册表及数据库。它还具有很多高性能。高效率的操作系统特性,包括按需换页、共享存储、交叉处理同步、支持大容量堆(heap)等;

3)拥有良好的通信能力。广泛支持各种通信硬件,亦支持直接的局域网连接以及拨号连接,并提供与PC、内部网以及Internet的连接,还提供与计算机上Windows系统的最佳集成和通信;

4)支持嵌套中断。允许更高优先级别的中断首先得到响应,而不是等待低级别的ISR完成,以达到实时性的目的;

5)更好的线程响应能力。对高级别IST(中断服务线程)的响应时间上限的要求更加严格,在线程响应能力方面有所改进。

6)实时性支持。WinCE拥有256个优先级别,可使开发人员在控制嵌入式系统的时序安排方面有更大的灵活性;

7)WinCE的API是Win32 API的一个子集,支持近1500个Win32 API。

8)内核精简。WinCE的内核可以很小,最小内核可以不足350kB。

9)模块化设计方法。WinCE的模块化设计使得它能够在大量的平台上定制使用,开发者可以使用满足平台系统需求的最小软件模块和组件集合来设计嵌入式系统平台,从而使内存用量最小并最大可能地提供操作系统的性能[2]。

2.2 VxWorks

VxWorks是美国WindRiver公司于1983年开发的一种嵌入式实时操作系统,由于其良好的持续发展能力、高性能的内核、友好的用户开发环境、良好的可靠性、卓越的实时性,在嵌入式实时操作系统领域占据一席之地,被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等[3]。VxWorks的特点有:

1)高实时性。VxWorks的实时性非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短[4]。

2)可裁剪性。VxWorks由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成,能使开发者根据自己应用程序的需要来选择操作系统中的部件。

3)内核精简。VxWorks内核最小为8kB,即便加上其他必要模块,所占用的空间也很小,且不失其实时、多任务的系统特征。

4)友好的开发调试环境。VxWorks的开发环境Tornado是一个友好的开发环境,它可以运行在多种主机上。拥有可视化图形界面和调试工具,支持应用程序的动态链接和动态下载。

2.3 μC/OS-Ⅲ

μC/OS-Ⅲ是可升级、具有基于优先级的实时内核的嵌入式操作系统。它对任务的个数无限制,支持现代实时内核的大部分功能,如资源管理、同步、任务间的通信等。μC/OS-Ⅲ 的特点如下:

1)实时性。μC/OS-Ⅲ是基于静态优先级的抢占式的多任务处理内核,它正在运行的经常是最紧急的就绪任务。μC/OS-III采用时间片轮转调度机制,即允许多个任务拥有相同的优先级,当多个相同优先级的任务就绪且该优先级是当前最高时,μC/OS-Ⅲ会分配用户定义的时间片给每个任务去运行。

2)可移植性。μC/OS-Ⅲ的源代码绝大部分是根据ANSI-C标准写的,便于移植到其他微处理器上。

3)可裁剪。有选择地使用所需的系统服务,以减少内核存储空间。

4)可确定性。μC/OS-Ⅲ的中断响应时间是可以确定的,提供的大部分服务的执行时间也是可以确定的,不依赖于任务的多少[5]。

2.4 嵌入式Linux

Linux从1991年问世到现在,已发展成为一个功能强大、设计完善的操作系统,不仅能运行于 PC平台,还在嵌入式系统方面大放光芒,这与Linux的良好特性是分不开的[6]。简单地说,嵌入式Linux操作系统具有以下主要特性:

1)内核精简、性能高、运行稳定,支持多任务。

2)适用于不同CPU,支持多种体系结构,如X86、ARM、MIPS、ALPHA,SPARC等。

3)能够提供完善的嵌入式GUI以及嵌入式X.Wifld.WS。

4)提供嵌入式浏览器、邮件程序、MP3 M放器、MPEG播放器、记事本等应用程序。

5)提供完整的开发工具和SDK,同时提供PC上的开发版本。

6)用户可定制,可提供图形化的定制和配置工具。

7)常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。

8)针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。

9)完善的中文支持,强大的技术支持,完整的文档。

10)开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉,结构灵活,适用面广[7]。

3 嵌入式实验室中操作系统的选择

3.1 几种嵌入式系统的比较

根据上述特点,对这几种嵌入式操作系统的特性进行对比,能更清晰直观地看出其异同点,对选型使用有更好的参考作用。表1从一系列方面对四种嵌入式操作系统进行了比较。

3.2 嵌入式教学实验室操作系统的选择

通过以上比较可以看出,总体来说VxWorks、μC/OS-Ⅲ以及嵌入式Linux性能优于WinCE。考虑到VxWorks需要支付昂贵的版权费,嵌入式教学实验室使用开源的操作系统(如Linux与μC/OS-Ⅲ)更为合适,考虑到嵌入式Linux在全世界拥有许多爱好者与社区论坛,对于学生的学习非常有帮助,因此建议实验室采用嵌入式Linux操作系统。

参考文献:

[1] 郭峰. 计算机嵌入式操作系统研究[J]. 卷宗, 2011(8):79-79.

[2] 陈立定, 杨俊辉, 肖力扬. 三种通用嵌入式操作系统的分析与比较[J]. 微计算机信息, 2009 (11): 89-91.

[3] 杨卫军, 胡宝成, 孟巧凤. 嵌入式实时操作系统多任务管理研究[C].全国计算机新科技与计算机继续教育学术会议, 2003.

[4] 李艳军, 高华, 顾欣莉. 实时嵌入式操作系统VxWorks设备驱动程序的设计[J]. 电子设计工程, 2011, 19(5):130-133. DOI:10.3969/j.issn.1674-6236.2011.05.039.

[5] 李慧. 三种嵌入式操作系统综述[J]. 电脑知识与技术, 2014(20).

[6] 张文. 基于嵌入式Linux操作系统的LXI多功能仪器系统软件的研究与实现[D]. 西安电子科技大学, 2008. DOI:10.7666/d.y1245786.

[7] 王海滨. 基于ARM9和linux移动通讯信息平台软硬件设计[D]. 长春工业大学, 2007. DOI:10.7666/d.y1204401.

猜你喜欢

嵌入式操作系统
典型实时嵌入式操作系统应用分析
FATFS在嵌入式操作系统FreeRTOS中的移植与应用
基于嵌入式操作系统的工业采集板设计
应用服务型人才培养体系下的嵌入式操作系统教学改革探索
兼容多种通信方式的智能网关软件设计
计算机嵌入式操作系统研究