1.嵌入式操作系统的发展
作为一类特殊的嵌入式软件,嵌入式操作系统用途广泛、任务特殊,其他应用都建立在嵌入式操作系统之上。嵌入式操作系统是在系统复位后首先执行的程序,它将CPU时钟、中断、定时器存储器、I/O等都封装起来,提供给用户的是一个标准的AP接口。
早期的嵌入式系统功能单一、控制简单,因此并不需要嵌入式操作系统,但随着嵌入式系统的功能、结构越来越复杂,对可靠性、安全性、体积、功耗等要求越来越高,逐渐出现了嵌入式操作系统。通过嵌入式操作系统将任务切换与管理、同步、互斥、中断管理等有机整合,大大提高了嵌入式系统的性能和效率。
嵌入式系统起源于20世纪60年代,在通信系统中针对电子机械电话交换的控制,当时被称为“存储式程序控制系统”(Stored Program Control),而嵌入式计算机真正得到长足发展是在微处理器问世之后。1971年11月,Intel公司首次成功地把算术运算器和控制器电路集成在一起,推出了全球第一款微处理器Intel 4004(尺寸为3mm×4mm,外层有16只针脚,内里有2300个晶体管,采用10微米制程),其后各厂家陆续推出了众多8位、16位的微处理器,包括Intel 8080/8085/8086、Motorola 6800/68000,以及Zilog的Z80、Z8000等。以这些微处理器作为核心所构成的系统,广泛地应用于武器装备、仪器仪表、医疗设备、机器人、家用消费电子等领域。随着微处理器的广泛应用,逐渐形成了广阔的嵌入式应用市场,计算机厂家开始大量地以插件方式向用户提供OEM产品,再由用户根据自己的需要选择一套适合的CPU板、存储器板以及各式I/O插件板,从而构成专用的嵌入式计算机系统,并将其嵌入自己的系统设备中。
首先,为灵活兼容考虑,出现了系列化、模块化的单板机。流行的单板计算机有Intel公司的iSBC系列、Zilog公司的MCB等。后来人们可以不必从选择芯片开始来设计一台专用的嵌入式计算机,而只要选择各功能模块,就能够组建一个专用计算机系统。用户和开发者都希望从不同的厂家选购最适合的OEM产品,插入外购或自制的机箱中就形成新的系统,这样就要求插件是互相兼容的,也就导致了工业控制微机系统总线的诞生。1976年Intel公司推出Multibus,1983年扩展为带宽达40MB/s的MultibusⅡ。1978年由Prolog设计的简单STD总线广泛应用于小型嵌入式系统。
20世纪80年代可以说是群雄并起的时代,基于单片机和DSP的嵌入式工业产品陆续成为各领域嵌入式控制的主角。随着微电子工艺水平的提高,集成电路制造商开始把嵌入式应用中所需要的微处理器、I/O接口、A/D和D/A转换、串行接口以及RAM、ROM等部件统统集成到一个VLSI中,从而制造出面向I/O设计的微控制器,也就是我们俗称的单片机。这也成为嵌入式计算机系统中异军突起的一支新秀,而其后发展的DSP产品则进一步提升了嵌入式计算机系统的技术水平,并迅速渗入国防军事、消费电子、医用电子、智能控制、通信电子、仪器仪表、交通运输等各种领域。
20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步加速发展。面向实时信号处理算法的DSP产品向着高速、高精度、低功耗的方向发展。德州仪器(Texas Instruments)推出的第三代DSP芯片TMS320C30,引导着微控制器向32位高速智能化发展。在应用方面,掌上电脑、手持PC、机顶盒技术相对成熟,发展也较为迅速。特别是掌上电脑,1997年美国市场上的掌上电脑品牌寥寥无几,而1998年底,各式各样的掌上电脑如雨后春笋般涌现出来。此外,Nokia推出了智能电话,西门子推出了机顶盒,网思(Wyse)推出了智能终端,美国国家半导体公司(National Semiconductor,已经并入Texas Instruments)推出了WebPAD。装载在汽车上的小型电脑,不但可以控制汽车内的各种设备(如音响等),还可以与GPS连接,从而自动操控汽车。
进入21世纪,人类真正进入网络化时代,将嵌入式计算机系统应用到各类网络中也必然是嵌入式系统发展的重要方向。嵌入式操作系统的功能、接口及可扩展性越来越强大,能够很好地适配当前的网络化运行场景,随着云计算、大数据及人工智能等新技术的发展和普及,嵌入式操作系统必将在未来获得更大、更广泛的应用和发展。作为未来嵌入式系统中必不可少的组件,嵌入式操作系统的发展趋势主要包括:
·定制化:嵌入式操作系统将面向特定应用提供简化型系统调用接口,专门支持一种或一类嵌入式应用。嵌入式操作系统将具备可伸缩性、可裁减的系统体系结构,并提供多层次的系统体系结构。嵌入式操作系统将包含各种即插即用的设备驱动接口。
·网络化:面向网络、面向特定应用,嵌入式操作系统要求配备标准的网络通信接口。嵌入式操作系统的开发将越来越易于移植和联网,将具有网络接入功能,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,并为各种移动计算设备预留接口。
·节能化:嵌入式操作系统将继续采用微内核技术,实现小尺寸、微功耗、低成本以支持小型电子设备,同时提高产品的可靠性和可维护性。嵌入式操作系统将形成最小内核处理集,减小系统开销,提高运行效率,并可用于各种非计算机设备。
·智能化:通过与人工智能技术的紧密结合,嵌入式操作系统将提供精巧、易于操作、界面简单、个性化的多媒体人机交互界面,以满足不断提高的用户需求,提高用户体验。
·安全化:嵌入式操作系统应能够提供安全保障机制,源码的可靠性越来越高。
·标准化:随着嵌入式操作系统的广泛应用及发展,信息、资源共享机会增多等带来的问题开始出现,需要建立相应的标准以规范应用,还要易于裁剪和伸缩,以便更好地适配不同的应用场景和用户需求。
2.典型嵌入式操作系统简介
结合当前嵌入式系统开发现状及主流应用市场,下面对典型的嵌入式操作系统进行介绍。限于篇幅,仅给出主要的操作系统信息,有兴趣的读者可以查阅相关线上或线下资源。
(1)VxWorks
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统,是Tornado嵌入式开发环境的关键组成部分。Tornado是WindRiver公司推出的一套实时操作系统开发环境,类似Microsoft Visual C,但是提供了更丰富的调试、仿真环境和工具。良好的持续发展能力、高性能的内核以及友好的用户开发环境,使得VxWorks在嵌入式实时操作系统领域逐渐占据一席之地,目前已广泛应用于数据网络、远程通信、医疗设备、交通运输、航空航天等领域。
VxWorks的特点包括:
·可裁剪的微内核结构;
·高效的任务管理;
·强大的调试能力;
·可通过DEBUG功能对软件进行模拟调试;
·灵活的任务间通信;
·微秒级的中断处理;
·丰富的函数库;
·支持POSIX 1003.1b实时扩展标准;
·支持多种物理介质;
·标准的、完整的TCP/IP网络协议支持等。
(2)Windows CE
Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上电脑的电子设备操作系统。Windows CE与Windows系列有较好的兼容性,这无疑是推广Windows CE的一大优势。
Windows CE的图形用户界面相当出色。其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion),E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的新型嵌入式操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于Win32 API重新开发的信息设备平台。Windows CE具有模块化、结构化、基于Win32应用程序接口以及与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面网格,使绝大多数应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。
Windows CE的设计目标是模块化及可伸缩性、实时性能好、通信能力强大、支持多种CPU。它的设计可以满足多种设备的需要,这些设备既包括工业控制器、通信集线器以及销售终端之类的企业设备,还包括像照相机、电话和家用娱乐器材之类的消费产品。典型的基于Windows CE的嵌入系统通常为某个特定用途而设计,并在不联机的情况下工作。它要求所使用的操作系统体积较小,内建有对中断的响应功能。
Windows CE的特点包括:
·具有灵活的电源管理功能,包括睡眠/唤醒模式。
·使用了对象存储(Object Store)技术,包括文件系统、注册表及数据库。还具有很多高性能、高效率的操作系统特性,包括按需换页、共享存储、交叉处理同步、支持大容量堆(Heap)等。
·拥有良好的通信能力。广泛支持各种通信硬件,亦支持直接的局域连接以及拨号连接,并提供与PC、内部网以及Internet的连接,还提供与Windows 9x/NT的最佳集成和通信。
·支持嵌套中断。允许更高优先级的中断首先得到响应,而不是等待低级别的ISR完成。这使得该操作系统具有嵌入式操作系统所要求的实时性。
·更好的线程响应能力。对高级别IST(中断服务线程)的响应时间上限的要求更加严格,在线程响应能力方面的改进可帮助开发人员掌握线程转换的具体时间,并通过增强的监控能力和对硬件的控制能力帮助他们创建新的嵌入式应用程序。
·256个优先级别。使开发人员在控制嵌入式系统的时序安排方面有更大的灵活性。
·Windows CE的API是Win32 API的一个子集,支持近1500个Win32 API。有了这些API,足以编写任何复杂的应用程序。当然,在Windows CE系统中,所提供的API也可以随具体应用的需求而定。
(3)嵌入式Linux
Linux起源于芬兰一位名为Linus Torvalds的业余爱好者,但是现在已经是最为流行的开放源代码操作系统之一。Linux从1991年问世到现在,已发展成为一个功能强大、设计完善的操作系统。Linux系统不仅能够运行于PC平台,还在嵌入式系统方面大放光芒,在各种嵌入式Linux OS迅速发展的状况下,Linux OS逐渐形成了可与VxWorks、Windows CE、μC/OS-Ⅱ等EOS进行抗衡的局面。Linux现已成为嵌入式操作系统的理想选择,其最大的特点是源代码公开并且遵循通用性公开许可证(General Public License,GPL)协议,在近年来一直作为嵌入式开发领域的研究热点。据美国国际数据集团(International Data Group,IDG)预测,嵌入式Linux将占未来嵌入式操作系统份额的50%以上。据初步统计,目前正在开发的嵌入式系统中,已有45%左右的项目选择Linux作为嵌入式操作系统,可见Linux的生命力和受开发者的认同程度。Linux广受欢迎的主要原因如下:
·由于源代码公开,开发者可以任意修改以满足自己的应用需求,并且通过相应的测试辅助工具确保查错、纠错也很容易实现。遵从GPL,无须为每个嵌入式应用交纳许可证费。此外,Linux开发社区有大量的应用软件可供选择和使用,这些应该软件大部分都遵从GPL,是开放源代码和免费的,稍加修改后就可以应用于自己的系统。大量免费、优秀、开源的开发工具和庞大的开发人员群体,给Linux开发带来了无穷的生命力。
·只要懂Unix/Linux和C语言,掌握嵌入式开发的原理和方法,即可开始开发属于自己的嵌入式系统应用。随着Linux在中国的普及,这类人才越来越多,所以软件的开发和维护成本较低。
·Linux内核精悍,运行所需资源少,因此十分适合嵌入式系统开发。此外,Linux支持的硬件数量也十分庞大。嵌入式Linux和普通Linux并无本质区别,PC上用到的硬件,嵌入式Linux几乎都支持。而且,各种硬件的驱动程序源代码都比较容易得到,为用户编写专有硬件的驱动程序带来很大的方便。
在嵌入式系统上运行Linux的一个缺点是,要想实现Linux的实时性能,需要添加实时软件模块,而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。因此,代码错误可能会破坏操作系统,从而影响整个系统的可靠性,这对于实时应用将是一个比较严重的弱点。
国内中科红旗软件技术有限公司开发的红旗嵌入式Linux正在成为国内许多嵌入式设备厂商的首选之一。红旗公司已先后推出了PDA、机顶盒、瘦客户机、交换机用的嵌入式Linux系统,并且投入了实际应用。
以红旗嵌入式Linux为例,嵌入式Linux的特点如下:
·精简的内核,性能高、稳定,多任务。
·适用于不同的CPU,支持多种体系结构,如x86、ARM、MIPS、ALPHA、SPARC等。
·能够提供完善的嵌入式GUI以及嵌入式X-Windows。
·提供嵌入式浏览器、邮件程序、MP3播放器、MPEG播放器、记事本等应用程序。
·提供完整的开发工具和SDK,同时提供PC上的开发版本。
·用户可定制,可提供图形化的定制和配置工具。
·包含常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。
·针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。
·完善的中文支持,强大的技术支持,完整的文档。
·开放源码,丰富的软件资源,软件开发者的广泛支持,价格低廉,结构灵活,适用面广。
(4)μC/OS-Ⅱ
μC/OS-Ⅱ是在μC/OS的基础上发展起来的,是用C语言编写的一个结构小巧、抢占式的多任务实时内核。μC/OS-Ⅱ能管理64个实时任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和扩展性强等特点,因此在嵌入式开发领域也占有较大的市场份额。
在文件系统的支持方面,由于μC/OS-Ⅱ是面向中小型嵌入式系统的,即使包含全部功能,编译后内核也不到10KB,所以系统本身并没有提供对文件系统的支持。但是μC/OS-Ⅱ具有良好的扩展性能,如果需要也可自行加入文件系统相关的内容。
在对硬件的支持上,μC/OS-Ⅱ能够支持当前流行的大部分CPU,μC/OS-Ⅱ由于本身内核很小,经过裁剪后的代码最小可以达到2KB,所需的最小数据RAM空间为4 KB。μC/OS-Ⅱ的移植相对比较简单,只需要修改与处理器相关的代码。
μC/OS-Ⅱ的主要特点如下:
·源代码公开,经过扩展,很容易把操作系统移植到各个不同的硬件平台上。
·可移植性:绝大部分源代码是用C语言写的,便于移植到其他微处理器上。
·可固化:可以嵌入产品中,成为产品的一部分。
·可裁剪性:有选择地使用所需要的系统服务,以减少其所需的存储空间。
·占先式:完全是占先式的实时内核,即总是运行就绪条件下优先级最高的任务。
·多任务:可管理64个任务,任务的优先级必须是不同的,不支持时间片轮转调度法。
·可确定性:函数调用与服务的执行时间具有可确定性,不依赖于任务的多少。
·实用性和可靠性:通过该实时内核的众多应用实践,可见其具有较高的实用性和可靠性。
·由于μC/OS-Ⅱ仅是一个实时内核,这就意味着它提供给用户的只是一些API函数接口,还有很多工作需要用户自己去完成。
综上可知,μC/OS-Ⅱ是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核,针对没有MMU功能的CPU,它是非常合适的。它需要很少的内核代码空间和数据存储空间,拥有良好的实时性,良好的可扩展性,并且由于源代码开源,在网络开发社区和论坛中有很多资料和应用实例,所以很适合向各类CPU平台上进行移植。
(5)Palm OS
Palm是3Com公司的产品,其操作系统为Palm OS——一种32位的嵌入式操作系统。Palm提供了串行通信接口和红外线传输接口,利用它可以方便地与其他外部设备通信、传输数据。它还拥有开放的OS应用程序接口,开发商可根据需要自行开发所需的应用程序。Palm OS是一套具有较强开放性的系统,现在有大约数千种专为Palm OS编写的应用程序,小到个人管理、游戏,大到行业解决方案,Palm OS无所不包。在丰富的软件支持下,基于Palm OS的掌上电脑功能得以不断扩展。
Palm OS是一套专门为掌上电脑开发的OS。在编写程序时,Palm OS充分考虑了掌上电脑内存相对较小的情况,因此它只占有非常小的内存。由于基于Palm OS编写的应用程序占用的空间也非常小(通常只有几十KB),所以,基于Palm OS的掌上电脑(虽然只有几MB的RAM)可以运行众多应用程序。
由于Palm产品的最大特点是使用简便、机体轻巧,Palm OS的主要特点如下:
·操作系统的节能功能。由上掌上电脑要求使用的电量尽可能少,因此在Palm OS的应用程序中,如果没有事件运行,则系统进入半休眠(Doze)状态,如果应用程序停止活动一段时间,则系统自动进入休眠(Sleep)状态。
·合理的内存管理。Palm的存储器全部是可读写的快速RAM。动态RAM(Dynamic RAM)类似于PC上的RAM,它为全局变量和其他不需永久保存的数据提供临时的存储空间;存储RAM(Storage RAM)类似于PC上的硬盘,可以永久保存应用程序和数据。
·Palm OS的数据是以数据库(Database)的格式来存储的。数据库是由一组记录(Record)和一些数据库头信息组成的。为保证程序处理速度和存储器空间,在处理数据的时候,Palm OS不是把数据从存储堆(Storage Heap)拷贝到动态堆(Dynamic Heap)后再进行处理,而是在存储堆中直接处理。为避免错误地调用存储器地址,Palm OS规定,这一切都必须调用其内存管理器里的API来实现。
Palm OS与同步软件(HotSync)结合可以使掌上电脑与PC上的信息实现同步,把台式机的功能扩展到掌上电脑中。Palm的应用范围相当广泛,如联络及工作表管理、电子邮件及互联网通信、销售人员及组别自动化等。Palm的外围硬件也十分丰富,如数码相机、GPS接收器、调制解调器、GSM无线电话、数码音频播放设备、便携键盘、语音记录器、条码扫描、无线寻呼接收器、探测仪。其中Palm与GPS结合的应用,不但可以用作导航定位,还可以结合GPS进行气候的监测、调查等。
(6)μClinux
μClinux是一种优秀的嵌入式Linux版本,全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准且丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。
μClinux在结构上继承了标准Linux的多任务实现方式,分为实时进程和普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式CPU特点进行改良,且不支持内核抢占,实时性一般。此外,μClinux结构复杂,移植相对困难,内核也较大。若开发的嵌入式产品注重文件系统和与网络应用,则μClinux是一个不错的选择。
综上可知,μClinux最大的特点在于针对无MMU处理器设计,这对于没有MMU功能的stm32f103来说是合适的,但移植此系统需要至少512KB的RAM空间、1MB的ROM/FLASH空间,而stmf103拥有256K的FLASH,需要外接存储器,这就增加了硬件设计的成本。
(7)eCos
eCos(embedded Configurable operating system),即嵌入式可配置操作系统。它是一个源代码开放、可配置、可移植、面向深度嵌入式应用的实时操作系统,其主要特点如下:
·配置灵活,采用模块化设计,核心部分由小组件构成,包括内核、C语言库和底层运行包等。
·每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用eCos提供的配置工具可以很方便地实现配置,并通过不同的配置使eCos满足不同的嵌入式应用要求。
·可配置性非常强大,用户可以自己加入所需的文件系统。并且支持当前流行的大部分嵌入式CPU,可以在16位、32位和64位等不同体系结构之间移植。
·由于本身内核很小,经过裁剪后的代码最小仅为10 KB,所需的最小数据RAM空间为10 KB。
·可移植性很好,比μC/OS-Ⅱ和μClinux易于移植。
综上所述,eCos最大的特点是配置灵活,并且支持无MMU的CPU移植。由于开源且具有很好的移植性,它也比较适合移植到stm32平台的CPU上。但eCOS的应用还不是太广泛,没有像μC/OS-Ⅱ那样普遍,并且相关资料也没有μC/OS-Ⅱ多。eCos适合用于商业级或工业级对成本敏感的嵌入式系统,例如消费电子领域中的一些应用。
(8)FreeRTOS
FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,其功能包括任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
FreeRTOS的主要特点如下:
·由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-Ⅱ、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。
·相对于C/OS-Ⅱ、embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行。
·FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。
·FreeRTOS内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。
相对于常见的μC/OS-Ⅱ等嵌入式操作系统,FreeRTOS操作系统既有优点也存在不足。FreeRTOS的主要不足如下:
·系统服务功能方面,FreeRTOS只提供了消息队列和信号量的实现,无法以后进先出的顺序向消息队列发送消息。
·FreeRTOS只是一个操作系统内核,需外扩第三方的GUI(图形用户界面)、TCP/IP协议栈、FS(文件系统)等才能实现一个较复杂的系统,不像μC/OS-Ⅱ等EOS可以和μC/GUI、μC/FS、μC/TCP-IP等无缝结合。
(9)Mbed OS
作为一种开源的嵌入式操作系统,ARM公司将Mbed OS免费提供给所有厂商使用,Mbed提供了一个相对更加系统和更加全面的智能硬件开发环境。
·主要功能:提供用于开发物联网设备的通用操作系统基础,以解决嵌入式设计的碎片化问题;支持所有重要的连接性与设备管理开放标准,以实现面向未来的设计;使安全可升级的边缘设备支持新增处理能力与功能;通过自动电源管理解决复杂的能耗问题。
·主要特点:开发速度快,功能强大,安全性高,为量产化而设计,可离线开发,也可以在网页上编辑。
(10)RTX
RTX是ARM公司的一款嵌入式实时操作系统,使用标准的C结构编写,运用RealView编译器进行编译。它不仅仅是一个实时内核,还具备丰富的中间层组件,不但免费,而且代码也是开放的。
·主要功能:开始和停止任务(进程),除此之外还支持进程通信,例如任务的同步、共享资源(外设或内存)的管理、任务之间消息的传递;开发者可以使用基本函数开启实时运行器、开始和终结任务,以及传递任务间的控制(轮转调度);开发者可以赋予任务优先级。
·主要特点:支持时间片,采用抢占式和合作式调度;不限制任务的数量,每个任务都具有254种优先级;不限制信号量的数量,支持互斥信号量、消息邮箱和软定时器;支持多线程和线程安全操作;使用MDK基于对话框的配置向导,可以很方便地完成MDK的配置。
(11)QNX
QNX诞生于1980年,是一种商用的、遵从POSIX规范的类UNIX嵌入式实时操作系统。
·主要功能:支持在同一台计算机上同时调度执行多个任务;也可以让多个用户共享一台计算机,这些用户可以通过多个终端向系统提交任务,与QNX进行交互操作。
·主要特点:核心仅提供4种服务——进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行;所有其他OS服务都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)且运行速度极快。
(12)NuttX
NuttX是一个实时嵌入式操作系统(Embedded RTOS),第一个版本由Gregory Nutt于2007年在宽松的BSD许可证下发布。其主要特点如下:
·可以构建为开放的、平面的嵌入式实时操作系统,也可以单独构建具有系统调用接口的微内核;
·很容易扩展到新的处理器架构、SoC架构或板级架构;
·实时的、确定性的,支持优先级继承;
·支持BSD套接字接口;
·支持优先级管理的扩展;
·可选的具有地址环境的任务(进程)等。
(13)SylixOS
嵌入式操作系统SylixOS诞生于2006年,是一个开源的跨平台的大型实时操作系统。经过十多年的持续开发,SylixOS已成为功能最为全面的国产操作系统之一。其主要特点如下:
·SylixOS是一款内核完全由我国自行编写的实时操作系统,相关内核代码开源并在工信部进行了源码自主率扫描,其中内核代码自主率为100%,所有代码的自主率达到89.1%。
·开源社区具有丰富的自由软件,移植非常方便。
·接口兼容POSIX标准,目前已有众多产品和项目应用案例,行业涉及航空航天、军事防务、轨道交通、智能电网、工业自动化等诸多领域。