嵌入式发展历史与现状.docx
《嵌入式发展历史与现状.docx》由会员分享,可在线阅读,更多相关《嵌入式发展历史与现状.docx(16页珍藏版)》请在冰豆网上搜索。
嵌入式发展历史与现状
嵌入式操作系统的发展现状
摘要:
概括了嵌入式系统和嵌入式操作系统的发展和现状。
总结了嵌入式系统及嵌入式操作系统的特点。
介绍了目前常见的嵌入式操作系统及其实现技术。
讨论了嵌入式操作系统今后的应用和发展前景。
关键词:
嵌入式系统、嵌入式操作系统、发展历史、技术特点、常用操作系统应用和前景
从20世纪70年代初出现第一个微处理器开始,嵌入式系统的发展已经有20余年的历史了。
随着计算机技术和产品对其它行业的广泛渗透,以应用为中心的分类方法变得更为切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将其分为嵌入式计算机和通用计算机。
通用计算机具有计算机的标准形式,通过装配不同的应用软件,以类同面目出现并应用在社会的各个方面,其典型产品为PC;而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中。
嵌入式系统将在“后PC”时期大显身手。
嵌入式系统是根据应用的要求,将操作系统和功能软件集成于计算机硬件系统之中,从而实现软件与硬件一体化的计算机系统。
嵌入式系统一般不提供与终端用户交互的手段,具有小巧、高度自动化、响应速度快等特点。
作为嵌入式系统灵魂的嵌入式操作系统是随着嵌入式系统的发展出现的,它是嵌入式系统发展到一定阶段的产物。
嵌入式操作系统的出现,将大大提高嵌入式系统开发的效率,改变以往嵌入式软件设计只能针对具体的应用从头做起。
在嵌入式操作系统之上开发嵌入系统将减少系统开发的工作量,增强嵌入式应用软件的可移植性,使嵌入式系统的开发方法更具科学性。
1.嵌入式系统
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。
嵌入式系统最典型的特点是与人们的日常生活紧密相关,任何一个普通人都可能拥有各类形形色色运用了嵌入式技术的电子产品,小到MP3、PDA等微型数字化设备,大到信息家电、智能电器、车载GIS,各种新型嵌入式设备在数量上已经远远超过了通用计算机。
这也难怪美国着名未来学家尼葛洛庞帝在1999年1月访华时就预言,4~5年后嵌入式智能工具将成为继PC机和Internet之后计算机工业最伟大的发明。
1.1嵌入式系统的发展历史
虽然嵌入式系统是近几年才开始真正风靡起来的,但事实上嵌入式这个概念却很早就已经存在了,从上个世纪70年代单片机的出现到今天各种嵌入式微处理器、微控制器的广泛应用,嵌入式系统少说也有了近30年的历史。
纵观嵌入式系统的发展历程,大致经历了以下四个阶段:
无操作系统阶段
嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制和飞机、导弹等武器装备中,一般没有操作系统的支持,只能通过汇编语言对系统进行直接控制,运行结束后再清除内存。
这些装置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用8位的CPU芯片来执行一些单线程的程序,因此严格地说还谈不上"系统"的概念。
这一阶段嵌入式系统的主要特点是:
系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。
由于这种嵌入式系统使用简便、价格低廉,因而曾经在工业控制领域中得到了非常广泛的应用,但却无法满足现今对执行效率、存储容量都有较高要求的信息家电等场合的需要。
简单操作系统阶段
20世纪80年代,随着微电子工艺水平的提高,IC制造商开始把嵌入式应用中所需要的微处理器、I/O接口、串行接口以及RAM、ROM等部件统统集成到一片VLSI中,制造出面向I/O设计的微控制器,并一举成为嵌入式系统领域中异军突起的新秀。
与此同时,嵌入式系统的程序员也开始基于一些简单的"操作系统"开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。
这一阶段嵌入式系统的主要特点是:
出现了大量高可靠、低功耗的嵌入式CPU(如PowerPC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。
此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的运行。
实时操作系统阶段
20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。
随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。
这一阶段嵌入式系统的主要特点是:
操作系统的实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。
此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用软件的开发变得更加简单。
面向Internet阶段
21世纪无疑将是一个网络的时代,将嵌入式系统应用到各种网络环境中去的呼声自然也越来越高。
目前大多数嵌入式系统还孤立于Internet之外,随着Internet的进一步发展,以及Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结合才是嵌入式技术的真正未来。
信息时代和数字时代的到来,为嵌入式系统的发展带来了巨大的机遇,同时也对嵌入式系统厂商提出了新的挑战。
目前,嵌入式技术与Internet技术的结合正在推动着嵌入式技术的飞速发展,嵌入式系统的研究和应用产生了如下新的显着变化:
1.新的微处理器层出不穷,嵌入式操作系统自身结构的设计更加便于移植,能够在短时间内支持更多的微处理器。
2.嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。
3.通用计算机上使用的新技术、新观念开始逐步移植到嵌入式系统中,如嵌入式数据库、移动代理、实时CORBA等,嵌入式软件平台得到进一步完善。
4.各类嵌入式Linux操作系统迅速发展,由于具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,很适合信息家电等嵌入式系统的需要,目前已经形成了能与WindowsCE、PalmOS等嵌入式操作系统进行有力竞争的局面。
5.网络化、信息化的要求随着Internet技术的成熟和带宽的提高而日益突出,以往功能单一的设备如电话、手机、冰箱、微波炉等功能不再单一,结构变得更加复杂,网络互联成为必然趋势。
6.精简系统内核,优化关键算法,降低功耗和软硬件成本。
7.提供更加友好的多媒体人机交互界面。
1.2体系机构
嵌入式处理器
嵌入式系统的核心是各种类型的嵌入式处理器,嵌入式处理器与通用处理器最大的不同点在于,嵌入式CPU大多工作在为特定用户群所专门设计的系统中,它将通用CPU中许多由板卡完成的任务集成到芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。
嵌入式处理器的体系结构经历了从CISC(复杂指令集)至RISC(精简指令集)和CompactRISC的转变,位数则由4位、8位、16位、32位逐步发展到64位。
目前常用的嵌入式处理器可分为低端的嵌入式微控制器(MicroControllerUnit,MCU)、中高端的嵌入式微处理器(EmbeddedMicroProcessorUnit,EMPU)、用于计算机通信领域的嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)和高度集成的嵌入式片上系统(SystemOnChip,SOC)。
目前几乎每个半导体制造商都生产嵌入式处理器,并且越来越多的公司开始拥有自主的处理器设计部门,据不完全统计,全世界嵌入式处理器已经超过1000多种,流行的体系结构有30多个系列,其中以ARM、PowerPC、MC68000、MIPS等使用得最为广泛。
嵌入式外围设备
在嵌入系统硬件系统中,除了中心控制部件(MCU、DSP、EMPU、SOC)以外,用于完成存储、通信、调试、显示等辅助功能的其他部件,事实上都可以算作嵌入式外围设备。
目前常用的嵌入式外围设备按功能可以分为存储设备、通信设备和显示设备三类。
存储设备主要用于各类数据的存储,常用的有静态易失型存储器(RAM、SRAM)、动态存储器(DRAM)和非易失型存储器(ROM、EPROM、EEPROM、FLASH)三种,其中FLASH凭借其可擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域内得到了广泛应用。
目前存在的绝大多数通信设备都可以直接在嵌入式系统中应用,包括RS-232接口(串行通信接口)、SPI(串行外围设备接口)、IrDA(红外线接口)、I2C(现场总线)、USB(通用串行总线接口)、Ethernet(以太网接口)等。
由于嵌入式应用场合的特殊性,通常使用的是阴极射线管(CRT)、液晶显示器(LCD)和触摸板(TouchPanel)等外围显示设备。
嵌入式操作系统
(略)
2.嵌入式操作系统定义和发展历史
2.1嵌入式操作系统的定义
嵌入式操作系统(real-timeembeddedoperatingsystem,RTOS或EOS)是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分,通常包括和硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图像界面、标准化浏览器等browser。
嵌入式操作系统具备通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得研发人员从繁忙的驱动程式移植和维护中解脱出来;能够提供库函数、驱动程式、工具集连同应用程式。
和通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化连同应用的专用性等方面具备较为突出的特点。
2.2嵌入式操作系统的发展历史
从1981年ReadySystem发展了世界上第1个商业嵌入式实时内核(VRTX32),到今天已经有近30年的历史。
嵌入式操作系统伴随着嵌入式系统的发展经历了三个比较明显的阶段:
第一阶段:
无操作系统的嵌入算法阶段。
这一阶段的嵌入式系统是以可编程控制器的形式、以单芯片为核心的系统,同时具有与一些监测、伺服、指示设备相配合的功能。
这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有明显的被称为操作系统(RTOS)的支持,而是通过汇编语言编程对系统进行直接控制,运行结束后清除内存。
这一阶段系统的主要特点是系统结构和功能都相对单一,针对性强,但无操作系统支持,几乎没有用户接口,比较适合于各类专用领域中。
第二阶段:
简单监控式的实时操作系统阶段。
这一阶段的嵌入式系统主要以嵌入式CPU为基础、简单操作系统为核心的嵌入式系统。
系统的特点是处理器种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。
第三阶段:
通用的嵌入式实时操作系统阶段。
以通用型嵌入式实时操作系统(RTOS)为标志的嵌入式系统,如VxWorks、pSOS、OS-9、WindowsCE就是这一阶段的典型代表。
这一阶段系统的特点是能运行在各种不同类型强大的微处理器上;具有强大的通用型操作系统的功能,如具备了文件和目录管理、多任务、设备支持、网络支持、图形窗口以及用户界面等功能;具有大量的丰富的应用程序接口(API)和嵌入式应用软件丰富。
3.嵌入式操作系统的组成和分类
3.1嵌入式操作系统的组成
嵌入式操作系统种类繁多,有资源开销很少的IC卡操作系统,也有功能较强的网络计算机操作系统。
这些嵌入式操作系统从功能到性能各具特色,为各种硬件环境及应用提供了相应的支持和服务。
目前市场上共有几十种操作系统,有深嵌入系统,也有浅嵌入式系统;有多任务系统,也有单任务系统;有实时系统系统,也有分时系统。
总之,不同厂商推出的操作系统或多或少都有差异,但许多嵌入式操作系统一般具有如下一些内容和功能:
系统核心、窗口图形系统、文件系统、设备驱动程序和网络协议等。
当前许多嵌入式操作系统都有一个多任务核心,以满足多种嵌入式系统的需要。
对于系统核心的功能,各种嵌入式系统差别较大,但即使是微内核系统,系统核心也负责完成如下一些基本任务:
进程间通讯、线程调度、中断和内存管理等。
在一些嵌入式系统中,窗口系统没有被采用,随着嵌入式操作系统的广泛应用,嵌入式系统性能的提高,窗口系统越来越成为许多嵌入式操作系统的重要内容。
窗口系统一般具有如下一些基本功能:
窗口管理功能、接口,提供菜单、按纽、编辑框、列表框、组合框、控件框、滚动条、对话框和默认窗口等多种窗口界面对象。
许多嵌入式操作系统都有文件系统,一般支持ROM、RAM、FLASH和外接卡文件系统,提供文件的创建、打开、读写和检索等功能。
设备驱动是大多嵌入式系统的重要内容,驱动内容包括RS232接口、网络设备、LCD、笔、鼠标、触摸屏等。
嵌入式设备正逐渐成为主要的互联网接入设备,与之对应,嵌入式操作系统也必须支持相关的网络协议,目前许多嵌入式操作系统都支持TCP/IP。
3.2嵌入式操作系统的分类
一般情况下,嵌入式操作系统可以分
为两类,一类是面向控制、通信等领域的
实时操作系统,如windriver公司的vxworks
isi的psos、qnx系统软件公司的qnx、ati的
nucleus等;另一类是面向消费电子产品的非
实时操作系统,这类产品包括个人数字助理(pda)
移动电话、机顶盒、电子书、webphone等。
VxWorks在跟踪雷达系统中的应用
a.非实时操作系统
早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。
在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。
前台程序通过中段来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。
这就是通常所说的前后台系统。
一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。
在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。
对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会造成在中断服务程序中处理费时的事件而影响后续和其他中断。
实际上,前后台系统的实时性比预计的要差。
这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过fifo队列排队,因而对那些实时性要求高的任务不可能立刻得到处理。
另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。
由于这类系统结构简单,几乎不需要ram/rom的额外开销,因而在简单的嵌入式应用被广泛使用。
嵌入式操作系统linux界面
b.实时操作系统
实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。
其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。
“在确定的时间内”是该定义的核心。
也就是说,实时系统是对响应时间有严格要求的。
实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。
其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。
“在确定的时间内”是该定义的核心。
也就是说,实时系统是对响应时间有严格要求的。
嵌入式实时操作系统uC/OS-II
实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。
实时系统有两种类型:
软实时系统和硬实时系统。
软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。
通常,大多数实时系统是两者的结合。
实时应用软件的设计一般比非实时应用软件的设计困难。
实时系统的技术关键是如何保证系统的实时性。
实时多任务操作系统是指具有实时性、能支持实时控制系统工作的操作系统。
其首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。
实时操作系统具有如下功能:
任务管理(多任务和基于优先级的任务调度)、任务间同步和通信(信号量和邮箱等)、存储器优化管理(含rom的管理)、实时时钟服务、中断管理服务。
实时操作系统具有如下特点:
规模小,中断被屏蔽的时间很短,中断处理时间短,任务切换很快。
实时操作系统可分为可抢占型和不可抢占型两类。
对于基于优先级的系统而言,可抢占型实时操作系统是指内核可以抢占正在运行任务的cpu使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了cpu让别的任务运行。
不可抢占型实时操作系统使用某种算法并决定让某个任务运行后,就把cpu的控制权完全交给了该任务,直到它主动将cpu控制权还回来。
中断由中断服务程序来处理,可以激活一个休眠态的任务,使之进入就绪态;而这个进入就绪态的任务还不能运行,一直要等到当前运行的任务主动交出cpu的控制权。
使用这种实时操作系统的实时性比不使用实时操作系统的系统性能好,其实时性取决于最长任务的执行时间。
不可抢占型实时操作系统的缺点也恰恰是这一点,如果最长任务的执行时间不能确定,系统的实时性就不能确定。
可抢占型实时操作系统的实时性好,优先级高的任务只要具备了运行的条件,或者说进入了就绪态,就可以立即运行。
也就是说,除了优先级最高的任务,其他任务在运行过程中都可能随时被比它优先级高的任务中断,让后者运行。
通过这种方式的任务调度保证了系统的实时性,但是,如果任务之间抢占cpu控制权处理不好,会产生系统崩溃、死机等严重后果。
4.嵌入式操作系统的特点
与其他类型的操作系统相比,嵌入式操作系统具有以下一些特点。
实时性:
所谓实时性,其核心含
义在于操作系统在规定时间内准确
完成应该做的事情,并且操作系统的
执行线索是确定的,而不是单纯的速
度快。
嵌入式任务往往是时间关键性
约束的,必须在某个时间范围内完成。
可剪裁性:
为了能够适应各种应
用需求的变化,能否对系统的功能模4种嵌入式操作系统的调度机制
块进行配置是嵌入式系统与普通系统
的另一区别。
不论从硬件环境、应用环境还是开发界面来看,应用于嵌入式环境的RTOS让开发人员可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置。
可靠性:
嵌入式系统一旦开始运行就不需要人的过多干预。
在这种条件下,
要求负责系统管理的嵌入式操作系统具有较高的稳定性和可靠性。
运行于嵌入式环境中的RTOS要求应用软件具有与操作系统同样的可靠性,这种设计思路对应用开发人员提出了更高的要求,同时也要求操作系统自身足够开放。
体积小:
嵌入式系统提供的资源有限,由于硬件的限制,嵌入式操作系统必须小巧简捷。
特殊的开发调试环境:
提供完整的集成开发环境是每一个嵌入式系统开发人员所期待的。
一个完整的嵌入式系统的集成开发环境一般需要提供的工具是编译/连接器、内核调试/跟踪器和集成图形界面开发平台,其中的集成图形界面开发平台包括编辑器、调试器、软件仿真器和监视器等。
可装卸性:
开放性、可伸缩性的体系结构。
强大的网络性:
支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。
固化代码:
在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。
辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。
国际上用于信息电器的嵌入式操作系统有40种左右。
现在,市场上非常流行的EOS产品,包括3Corn公司下属子公司的PalmOS,全球占有份额达50%,MicroS。
fi公司的Wind。
wsCE不过29%。
在美国市场,PalmOS更以80%的占有率远超WindowsCE。
开放源代码的Linux很适于做信息家电的开发。
比如:
中科红旗软件技术有限公司开发的红旗嵌入式Linux和美商网虎公司开发的基于Xlinux的嵌人式操作系统“夸克"。
“夸克”是目前全世界最小的Linux,它有两个很突出的特点,就是体积小和使用GCS编码。
5.嵌入式操作系统在国内的发展
在中国,嵌入式操作系统可分为两大类型:
一类是自主版权的操作系统,另一类是基于Linux的操作系统。
自主版权的操作系统方面,国内有"女娲Hopen"操作系统、桑夏2000操作系统和DeltaOS操作系统等。
"女娲Hopen"是凯思集团推出的产品,目前已进入产业化阶段,"女娲Hopen"目前已能支持所有主流的嵌入式芯片,凯思与联想、TCL、Motorola、Winbond、上海贝尔等国内外知名厂商合作开发出了多种产品:
联想"天玑810"、天玑e卡通、"天玑911"、TCL集团家庭信息显示器HiD、天亿股票机顶盒、VOD视频点播机顶盒等。
桑夏2000操作系统是深圳桑夏公司推出的产品,是一个面向嵌入式应用的实时操作系统,具备文件系统和嵌入式数据库引擎,提供了基本的图形用户接口,支持层次化、模块化的软件模型,可运行在"龙珠"等三种系列的CPU上,支持包括TCP/IP协议在内的网络通讯协议。
DeltaOS是北京科银京成公司开发的嵌入式实时操作系统,它主要包括:
内核DeltaCORE、嵌入式TCP/IPDeltaNET、嵌入式文件系统DeltaFILE以及嵌入式图形接口DeltaGUI。
DeltaOS支持ARM7、StrongARM、PPC8XX、PPC4XX、X86、MIPS等多种嵌入式微处理器,可应用于消费电子产品、通信产品、工业控制及军用电子产品中。
近年来,嵌入式Linux进展较快。
在中国,以Linux为基础的嵌入式操作系统比较活跃,其中中软Linux、红旗Linux、东方Linux是业界的代表。
中软总公司以数控平台为背景,推出了中软Linux3.0。
中软嵌入式Linux是实时系统,这套基于Linux的嵌入式系统不仅满足了数控机床的需求,同时可以应用于其它工业控制领域。
红旗Linux把工控和信息家电作为主要的发展领域。
红旗Linux为用户提供了Windows风格的控件集、图形中文环境和嵌入式数据库的开发工具。
中科红旗公司开发出了针对工控领域的嵌入式Linux系统。
东方Linux是凯思集团推出的产品。
凯思通过与中芯微合作,已经推出了网络计算机(NC)。
采用东方Linux的NC系列产品除具有传统终端的功能之外,还具有本地计算能力,用户可以通过NC使用安装在服务器上的应用程序,并可以使用多种本地软件。
该产品工作方式基于集中与开放网络服务的运算模式,兼容多种网络协议标准,用户可以在任意地点通过网络连接设备,实时访问服务器端的应用程序。
该产品可应用于政府、国防、教育、商业、金融等领域。
6.一些常用的嵌入式操作系统和嵌入式Linux
6.1一些常用的嵌入式操作系统
其实,嵌入式系统并不是一个新生的事物,从二十世纪八十年代