嵌入式操作系统
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 概述

1.1 嵌入式系统概述

当今时代,人们的生活越来越依赖基于计算机技术和数据通信技术的电子产品,因此,有人说,当今时代是电子产品时代;也有人说,当今时代是互联网时代;还有人说,当今时代是e时代。这些都充分说明了电子产品和互联网技术给人们的生活带来的改变。但这些说法都有些偏颇,一个更接近本质的说法是“当今时代,是嵌入式系统时代”。

嵌入式系统可以简单地理解为“为完成一项功能而开发的、由具有特定功能的硬件和软件组成的一个应用产品或系统”。嵌入式系统在我们的生活中到处可见,例如,手机、PDA、家里的数字电视机、全自动洗衣机等,都是嵌入式系统。当然,在我们日常生活接触不到的领域中,嵌入式系统也被广泛应用。例如,应用于通信网络中的电话交换机、光传输分叉/复用设备、互联网路由器等,都是嵌入式系统的实例。这些实例都有一个共同的特点,那就是“具备特定的用途”。比如,手机只能用于完成移动通信(移动通话、移动短信息等),而不具备数字电视的功能,同样地,数字电视只具备数字电视信号接收、解码和播放功能,以及相关的一些简单附加功能,而不具备洗衣机的功能,等等。因此,嵌入式系统一个最基本的特点,就是“功能专一”。

一般情况下,嵌入式系统是由嵌入式硬件和嵌入式软件两部分组成的。嵌入式硬件,是由完成嵌入式系统功能所需要的机械装置、数字芯片、光/电转换装置等组成,嵌入式硬件决定了嵌入式系统的功能集合,即嵌入式系统的最终功能。嵌入式软件,则是附加在嵌入式硬件之上的,驱动嵌入式硬件完成特定功能的逻辑指令。嵌入式软件可以非常简单,比如,在一些简单的自动控制洗衣机中,软件部分可能只有数百行汇编代码,系统功能基本上由硬件完成,软件仅仅起到辅助功能。嵌入式软件也可以非常复杂,比如,手机、大型通信设备等嵌入式系统,软件部分往往由数十万行,甚至数百万行代码组成,这些系统的大部分功能都是由软件逻辑实现的。通过分析这些嵌入式系统,可以发现一个规律,那就是嵌入式软件所占比重越高的嵌入式系统,其灵活性越好,功能也越强大,这很容易理解,因为软件比重大的系统中,大部分功能是由软件完成的,通过叠加更多的软件,就可以实现更多的功能。相反,若一种嵌入式系统由硬件占主导地位,则在这种系统上增加新的功能或配置将非常不方便,因为需要更换硬件。

嵌入式系统的软件可以进一步分为嵌入式操作系统和嵌入式应用软件。其中,嵌入式操作系统是系统软件,是直接接触硬件的一层软件,嵌入式操作系统为应用软件提供了一个统一的接口,屏蔽了不同硬件之间的差别,使得应用软件的开发和调试变得十分方便。

嵌入式应用软件则是真正完成系统功能的软件。当然,这两种软件并不是所有嵌入式系统都必需的,在一些简单的嵌入式系统中,比如在微波炉、自动控制洗衣机等嵌入式系统中,软件功能十分简单,这样就没有必要采用嵌入式操作系统。但在一些复杂的嵌入式系统中,比如在互联网路由器中,嵌入式操作系统则是必不可少的部件,因为这些嵌入式系统的应用软件十分复杂,若不采用嵌入式操作系统来进行支撑,其开发工作将十分困难,甚至无法完成。

总之,嵌入式系统就是由嵌入式硬件和嵌入式软件组成的、具备特定功能的计算机系统,其中,嵌入式软件又可进一步分为嵌入式操作系统和嵌入式应用软件,如图1-1所示。

图1-1 嵌入式系统软、硬件之间的关系

嵌入式操作系统是整个嵌入式软件的灵魂,起到承上启下(连接嵌入式硬件和嵌入式应用软件)的作用,而且往往也是嵌入式软件中最复杂的部分。虽然复杂,嵌入式操作系统的功能接口却相对标准化和统一,功能差异很大的嵌入式系统,往往可以采用相同的嵌入式操作系统来进行设计,比如,一台复杂的数字控制机床的控制系统与一架军用飞机的控制系统,可能采用了相同的嵌入式操作系统,仅仅是具体的应用软件不同。因此,嵌入式操作系统可以被理解为通用软件,不同的嵌入式操作系统,除了性能上的差异和实现细节上的差异之外,功能部分往往是相同的。在本书中,我们介绍一个由笔者亲自开发的嵌入式操作系统的功能及其实现细节。