**第1章
导论**
不同的人对嵌入式系统有不同的理解。对于从事服务器开发的人来说,在手机上开发的应用程序就是一个嵌入式系统。对于为8位微处理器写过程序的人来说,任何运行在操作系统上的应用程序都不是嵌入式的。我要告诉非技术人员的是,嵌入式系统就像微波炉或者汽车,虽然运行软件但不是计算机(大多数人认为计算机是通用计算设备)。以下是对嵌入式系统给出的一个没有太多技术争议的定义:
嵌入式系统是为了特定应用而专门构建的计算机系统。
因为嵌入式系统要完成的任务比通用计算机系统窄很多,所以对于完成与手头任务不相关的事情提供较少的支持。硬件通常也有很多约束。比如,为了节省电池电量,CPU运行得更慢;为了便于制造,使用更少的内存;处理器通常只能具有特定的速度,或者只支持一部分外设。
在嵌入式系统中硬件并不是唯一受限制的部分。在某些系统中,软件的行为必须是确定的(每次必须以同样的方式运行)或者是实时的(任何时候对特定的事件快速响应)。有些系统要求软件能容错,当有错误发生时能以优雅的方式降级运行。例如,一个不能允许软件失效或者硬件损坏的系统(比如卫星或者鲸鱼的追踪标志系统)。另一些系统要求在第一个失效症状出现的时候,软件立刻停止操作,通常这时候软件会提供明确的错误信息(比如,心脏监护仪不应该悄无声息地失效)。
时间: 2024-09-07 08:36:26