《嵌入式操作系统史话》之一:何为嵌入式操作系统? 什么是嵌入式操作系统
谈论嵌入式操作系统的定义之前,应该先讨论一下关于嵌入式系统的定义。国内外专家学者和企业界人士的理解都不尽相同,具有代表性的意见有两种;一种是说嵌入式系统就是嵌入式的计算机系统,另外一种认为嵌入式系统是一种机电结合、软硬结合执行某种特殊功能的系统[1]。这两种意见各有侧重,前者主要来自计算机领域,后者来自电子信息领域。我认为随着未来智能技术的广泛采用,两种观点将会统一,也就是说未来机电整合的系统都将是智能(有计算机系统的存在)。那么所有可用于嵌入式系统的操作系统(OS)都可以称为嵌入式操作系统(以后简称为嵌入式OS),既然它是一个OS,那就必须具备OS的能力-设备、任务(进程)、文件和网络等管理功能。嵌入式OS要支持嵌入式系统广泛性的需求,它一定要具备诸如;实时性、扩展性、可靠性、可裁剪和固化(嵌入)等特点。这里就不一一细说。
嵌入式OS有哪些产品
20世纪70年代末,嵌入式OS商业产品已在美国和加拿大等国家出现,90年代末嵌入式OS的数量呈现井喷式增加,最鼎盛的时候有数百种之多,即使经过经过30多年的发展和淘汰,现在依然有数十余种。但是真正在市场上具有影响力,有一定的客户数量和成功的应用产品的嵌入式OS并不是很多,常见的有:PalmOS、Symbian、eCos、uCOS-II和III、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive 、CMX、SMX、emOS、Chrous、VRTX 、RTX、FreeRTOS、LynxOS、ITRON、RT-thread和Linux家族的各种版本比如uClinux、Android和Meego等,还有微软家族的WinCE、WindowsEmbedded Stanard、WindowsMobile等[2]。其中有些产品已经因为公司的收购而消失,比如Psos、VRTX和Chrous等,还有的开源嵌入式OS因为缺少维护而逐渐放弃,比如eCos和Meego等, 关于这些OS的情况,我后面的文章还会有更多的介绍。
嵌入式OS的分类
通用的OS我们可以按照应用分成桌面和服务器两种版本,对嵌入式OS分类却是一件很困难的事情,原因是什么呢,因为嵌入式系统没有一个标准的平台。从特性看嵌入式OS可分为硬实时和软实时,从商业模式看分为开源和闭源(私有),从应用角度看分为通用的嵌入式OS和专用的嵌入式OS。比如VxWork就是硬实时、私有和专用的OS,而嵌入式Linux就是软实时、开源和通用OS,硬实时的嵌入式OS,我们一般是称为RTOS(实时多任务操作系统),历史上某些RTOS不是嵌入式OS,比如某些实时的Unix,它是运行在小型和微型计算机系统,今天多数类似的产品都已经发展成嵌入式OS,即可以运行在嵌入式系统上,一般称之为嵌入式实时多任务操作系统。
嵌入式OS的应用
可以说哪里有嵌入式的应用,哪里就有嵌入式OS的踪影。今天的嵌入式应用已经无处不在,嵌入式OS更是随处可见。但是必须强调,嵌入式OS对于系统的处理器和其他资源均有一定要求和占有,商业嵌入式OS要收取一定的开发和使用费用,即使是开源的嵌入式OS,你在开发中也或许要向商业公司购买技术服务费用。这些将导致最终的电子产品成本的增加 ,因此并不是所有的嵌入式应用都需要使用OS。 哪些应用适合也必须使用嵌入式OS呢,以下的是市场上一些热点应用:
无线通讯产品:比如手机、基站和无线交换机等无线通信设备大量使用嵌入式OS和中间件(通信协议等)[3]。
网络产品:比如路由器、交换机、接入设备和信息安全产品等大量使用RTOS和开源的LinuxOS。
智能家电:比如智能电视、IP机顶盒、互联网冰箱等产品大量使用包括Android在内的嵌入式OS。
航空航天和军事装备:包括飞机、宇航器、舰船和武器装备等都在使用经过认证的RTOS,这个领域也是嵌入式OS最早开发的市场之一。
汽车电子:现代汽车和运输工具大量使用MCU技术,正在从采用私有的RTOS转向标准和开放的RTOS和通用的嵌入式OS技术,随着智能交通和车联网发展,汽车电子将给嵌入式OS发展带来一个新的春天。
物联网产业和技术:物联网和云计算是IT产业技术发展的两大推手。其中物联网技术和产业的发展都嵌入式系统和嵌入式OS的影响更大,需要嵌入式OS支持更加优秀的低功耗和无线网络技术,随着产业发展和成熟,需求会越来越大。
结语
嵌入式OS是源自计算机专业的一种技术,但因其嵌入在一个复杂的电子系统之中,而且应用千变万化,所以其具有根深蒂固特殊性和多样性。我撰写的这组系列文章,试图从历史演变的视角帮助关注嵌入式系统发展和应用的读者了解嵌入式OS的过去、今天与未来,推动中国电子信息产业在嵌入式技术引领下的转型和创新。
|