近年来,以PC机为代表的通用计算机系统在硬件和软件方面都取得了飞速的发燕尾服,处理器的运算速度已经达到了每秒10亿次的数量级。作为计算机系统核心的操作系统也从字符界面的单任务、单用户的DOS,发展到拥有图形界面的多用户、多任务的Windows 98、Windows NT。计算机的应用已经扩展到通信、交通、家电及医疗诸多领域。
然而,在经过了很长一段时间的快速发展,尤其是作为过去十年IT发展的推动力以后,以PC为代表的通用计算机系统出现了发展减缓的趋势;与此同时,新兴IT产生的发展要求越来越多的设备具有小型化、智能化的特点。为适应这一发展趋势,在计算机系统的应用过程中发展了一类特殊的系统——嵌入式计算机系统,即嵌入式系统。
由于具备简洁、高效等特点,在最近几年,嵌入式系统表现出了强劲的发展势头;随着二十一世纪的到来,IT业迎来了一个崭新的、以嵌入式系统为核心的“后PC时代(Post-PC Era)”。作为崭新的、面向应用的计算机系统,嵌入式系统在集成了通用计算机系统的共性以外,还包含了很多适合“嵌入式”应用的新技术;因此,嵌入式系统的发展越来越多地受到人们的普遍重视,其强大而灵活的可应用性得到了计算机、通信和信息等产业的广泛认可,其就任已经扩展到前所未有的广泛领域。嵌入式系统的出现与发展将真正实现计算机的“无处不在”。
因为在技术上与通用计算机系统有很多不同,因此,本文首先介绍了嵌入式系统的基本概念及其关键技术,并结合在通信系统中的应用说明其技术特点及可应用性。
1 嵌入式实时系统
嵌入式系统内容包含一个或多个控制用的CPU以及针对特定应用环境而开发的高层软件,通常含有操作系统。在使用过程中,系统内部CPU和软件的行为并不为外界所感知,因此叫做“嵌入式”系统;通常把对外部事件响应时间很短的嵌入式系统叫做“嵌入式实时系统”;应用于嵌入式实时系统的操作系统叫做“嵌入式实时操作系统”;相应的应用程序叫做“嵌入式时应用程序”。
1.1 嵌入式实时系统的构成
嵌入式实时系统包括硬件和软件两个方面,由硬件平台、嵌入式实时操作系统及其他系统软件模块、实时应用程序三个部分组成。如图1所示。
1.1.1 硬件平台
嵌入式实时系统的硬件平台通常以为能紧凑、专用性强的CPU为核心同时结合少量的外转围设备,具有应用相关性,即多样性的特点。
1.1.2 嵌入式实时操作系统及其他系统软件模块
操作系统和其他系统软件介于硬件和应用程序之间,负责调度并管理实时应用程序,并完成对硬件的控制和操作。
1.1.3 实时应用程序
实时应用程序是基于嵌入式实时操作系统、利用操作系统提供的实时机制完成特定的嵌入式实时系统具体功能的应用程序。
在以上三个部分中,嵌入式实时操作系统是嵌入式实时系统的核心,是应用程序开发和运行的平台,是嵌入式实时系统区别于其他通用计算机系统的集中体现,也是推动嵌入式实时系统广泛应用的关键因素。
1.2 嵌入式实时操作系统的特点
除了具有操作系统的共性以外,为适应“嵌入式实时”应用,嵌入式实时操作系统还具有实时性、微内核结合扩展模块实现通用性与可配置性、操作系统不对外设作假设等突出特点。
1.2.1 实时性
实时表示“及时”,是一个相对概念;实时性表明操作系统在可预见的时间内响应和处理外部事件的能力,是嵌入式实时操作系统性能的关键指标之一。为保证良好的实时性,嵌入式实时操作系统一般采用多任务机制,以并发方式执行应用程序。
1.2.2 微内核结合扩展模块实现通用性与可配置性
为了在结构和功能上适应不同的“嵌入式”应用,嵌入式实时操作系统通常采用微内核与可配置的功能模块相结合的体系结构,使操作同时具备了通用性和可配置性。嵌入式实时操作系统的结构如图2所示。
1.2.3 操作系统不对外设作假设
操作系统的实现只与CPU有关,而不假设CPU以外的其他物理硬件。与硬件相关的功能依靠另外一个叫做板级支持包(Board Support Package)的软件层次来完成,从而实现了操作系统的“硬件无关性”,提高了系统的通用性和可移值性。
其中2和3作为嵌入式实时操作系统的关键技术,有力地推动了嵌入式系统的广泛应用。
1.3 嵌入式实时系统与通用计算机系统的对比
嵌入式实时系统与通用计算机对比见表1。通过对比可以看出:嵌入式系统是以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应于应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
表1 嵌入式实时系统与通用计算机系统的对比