嵌入式操作系统的发展历程、特点及发展趋势

2019-07-13 06:05发布

 1. 嵌入式操作系统的发展历程
嵌入式系统是以应用为中心,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。综观嵌入式技术的发展,大致经历了以下3个阶段:
第一阶段:嵌入技术的早期阶段,以功能简单的专用计算机或单片机为核心的可编程控制器形式存在,具有监测、伺服、设备指示等功能。这种系统大部分应用于各类工业控制和飞机、导弹等武器装备中。
第二阶段:以嵌入式CPU和嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:计算机硬件出现了高可靠、低功耗的嵌入式CPU,如Power PC等。
第三阶段:以芯片技术和Internet技术为标志的嵌入式系统。微电子技术发展迅速,SOC(片上系统)使嵌入系统越来越小,功能却越来越强。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式技术与Internet技术的结合正推动嵌入式技术的快速发展。
嵌入式操作系统是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统伴随着嵌入式系统的发展经历了三个比较明显的阶段:
第一阶段:无操作系统的嵌入算法阶段,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口,比较适合于各类专用领域中。
第二阶段:以嵌入式CPU为基础、简单操作系统为核心的嵌入式系统。CPU 种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。
第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统。能运行于各种类型的微处理器上,兼容性好;内核精小、效率高,具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口API;嵌入式应用软件丰富。 2.  嵌入式操作系统的特点
1) 实时性
在信息时代,人们需要在有效的时间里对接受的信息进行处理,为进一步的工作和决策争取时间,这就要求工作系统具有很高的实时性。所谓实时性,其核心含义在于操作系统在规定时间内准确完成应该做的事情,并且操作系统的执行线索是确定的,而不是单纯的速度快。
  大多数嵌入式操作系统工作在对实时性要求很高的场合,主要对仪器设备的动作进行检测控制,这种动作具有严格的、机械的时序;而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作,人的动作和反应在时序上并不很严格。比如,用于控制火箭发动机的嵌入式系统,它所发出的指令不仅要求速度快,而且多个发动机之间的时序要求非常严格,否则就会失之毫厘,谬以千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。即使我们所开发的并不是生命攸关的或者生产控制那样的关键任务系统,例如对嵌入式操作系统应用来说很有前途的领域-----消费电子产品,设备的高可靠性可以有效地减低维护成本,软件运行效率高也会降低对CPU的要求,从而降低硬件成本。对于此类价格十分敏感的产品,实时性、可靠性仍然是非常值得重视的问题。因此,实时性是嵌入式系统最大的优点,在嵌入式软件中最核心的莫过于嵌入式RTOS实时操作系统。
2) 可剪裁性
能否根据悠扬的乐曲对系统的功能模块进行配置是嵌入式系统与普通系统的另一区别。这可以从以下几个方面分析:
i. 从硬件环境来看,普通系统具有标准化的CPU存储和I/O架构,而嵌入式环境的硬件环境只有标准化的CPU,没有标准的存储、I/O和显示器单元。
ii. 从应用环境来看,桌面操作系统面向复杂多变的应用,而嵌入式操作系统面向单一设备的固定的应用。
iii. 从开发界面来看,桌面操作系统给开发人员提供一个“黑箱”,让开发人员通过一系列标准的系统调用来使用操作系统的功能,而嵌入式试图为开发人员提供一个“白箱”,让开发人员可以自主控制系统的所有资源。普通系统的研究开发是尽可能在不改变自身的前途下具有广泛的适应性。也就是说:不论应用环境怎么改变,都不应对自身做太多的变化。而应用于嵌入式环境的RTOS,在研发的时候就必须立足于面向对象,改变自身、开放自身,让开发人员可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿来即可以。可剪裁性在软件工程阶段是利用软件配置方法实现软件构建的“即插即用”。
3) 可靠性
一般来说,嵌入式系统一旦开始运行就不需要人的过多干预。在这种条件下,要求负责系统管理的嵌入式操作系统具有较高的稳定性和可靠性。而普通操作系统则不具备这种特点。这导致桌面操作环境与嵌入式环境在设计思路上有重大的不同。
i. 桌面环境假定应用软件与操作系统相比而言是不可靠的,而嵌入式环境假定应用软件与操作系统一样可靠。运行于嵌入式环境中的RTOS要求应用软件具有与操作系统同样的可靠性,这种设计思路对应用开发人员提出了更高的要求,同时也要求操作系统自身足够开放。
ii. 桌面操作系统比较庞大复杂,而嵌入式系统提供的资源有限,由于硬件的限制,嵌入式操作系统必须小巧简捷。对于系统来说,组成越简单、性能越可靠,组成越复杂,故障概率越大是一个常理。局部的不足会导致整体的缺陷,系统中任何部分的不可靠都会导致系统整体的不可靠。
          
3. 嵌入式操作系统的发展趋势
    目前各种嵌入式Linux操作系统正迅速发展,已经形成了能与Windows CE等嵌入式操作系统进行有力竞争的局面。嵌入式Linux操作系统的迅速崛起,主要由于人们对自由软件的渴望与嵌入式系统应用的特制性,要求提供系统源码层次上的支持,而嵌入式Linux正适应了这一需求,它不仅具有开放源代码,系统内核小、效率高、内核网络结构完整,裁减后的系统很适于如信息家电等嵌入式系统的开发。嵌入式Linux操作系统的产品化及可靠性是目前受制约的一个重要因素。
微软的Win CE是一个较具代表性的、由桌面操作系统演变而成的实时嵌入式操作系统。虽然提供了较为强大的类似于桌面操作系统的功能,但针对嵌入式系统的特征与特性而言,Win CE显得笨拙且在内核结构的设计中并未考虑适应系统的高度可裁减性的要求。以VxWorks为代表的传统嵌入式操作系统是应用最广泛、市场占有率较具优势的几个系统,它们是专门为嵌入式微处理器设计的高模块化、高性能的实时操作系统,广泛应用于高科技产品中,包括消费电子设备、工业自动化、无线通信产品、医疗仪器、数字电视与多媒体设备,具有很好的
安全性、容错性以及系统灵活性。虽然它们都提供专有的API接口,但是缺乏应用的高效性,网络连接功能较差,系统对应用程序开发支持相对较弱。对现在复杂的、网络化的、多处理器的嵌入式系统的许多应用需要而言,它已显得力不从心。
随着硬件技术、应用需求和开发需求的变化,如,微电子技术--芯片的集成技术和片上系统;强实时、高可靠应用需求--飞机、火箭控制等;开发需求--信息家电需要越来越多的研究和设计人员参与嵌入系统的开发,如同台式系统一
样嵌入系统需要使用方便、功能强大的开发系统,嵌入操作系统也需要支持面向对象和可重用等技术。 4. 结束语
嵌入式操作系统与普通系统相比是更为健壮的、低成本的、特性完备的操作系统。它的应用将大大提高嵌入式系统开发的效率,改变以往嵌入式软件设计只能针对具体的应用从头做起的状况,在嵌入式系统之上开发嵌入式系统将减少系统开发的工作量,增强嵌入式应用软件的可移植性,是嵌入式系统的开发方法更具科学性。