【答案解析】考查嵌入式操作系统的相关知识。简单地说,实时系统可以看成对外部事件能够及时响应的系统。这种系统最重要的特征是时间性,也就是实时性,实时系统的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这些结果的时间。在现实世界中,并非所有的嵌入式系统都具有实时特性,所有的实时系统也不一定都是嵌入式的。但这两种系统并不互相排斥,兼有这两种系统特性的系统称为实时嵌入式系统。
嵌入式操作系统(Embedded Operating System,EOS)是指运行在嵌入式系统上,支持嵌入式应用程序的操作系统,是用于控制和管理嵌入式系统中的硬件和软件资源、提供系统服务的软件集合。EOS是嵌入式软件的一个重要组成部分,它的出现提高了嵌入式软件开发的效率和应用软件的可移植性,有力地推动了嵌入式系统的发展。
①嵌入式操作系统的特点
与通用操作系统相比,嵌入式操作系统主要有以下特点。
·微型化:嵌入式操作系统的运行平台不是通用计算机,而是嵌入式计算机系统。这类系统一般没有大容量的内存,几乎没有外存,因此,嵌入式操作系统必须做得小巧,以尽量少占用系统资源。为了提高系统的执行速度和系统的可靠性,嵌入式系统中的软件一般都固化在存储器芯片中,而不是存放在磁盘等载体中。
·代码质量高:在大多数应用中,存储空间依然是宝贵的资源,这就要求程序代码的质量要高,代码要尽量精简。
·专业化:嵌入式系统的硬件平台多种多样,处理器的更新速度快,每种处理器都是针对不同的应用领域而进行专门设计。因此,嵌入式操作系统要有很好的适应性和移植性,还要支持多种开发平台。
·实时性强:嵌入式系统广泛应用于过程控制、数据采集、通信、多媒体信息处理等要求实时响应的场合,因此实时性成为嵌入式操作系统的又一特点。
·可裁减、可配置:应用的多样性要求嵌入式操作系统具有较强的适应能力,能够根据应用的特点和具体的要求进行灵活配置和合理裁减,以适应微型化和专业化的要求。
②嵌入式操作系统的分类
嵌入式操作系统的种类繁多,可以从不同角度对其进行分类。
从嵌入式操作系统的获得形式上,可以分为商业型和免费型两类。
·商业型。商业型嵌入式操作系统一般功能稳定、可靠,有完善的技术支持、齐全的开发工具和售后服务。如WindRiver公司的VxWorks、pSOS和Palm公司的Palm OS等。但价格昂贵,用户通常得不到系统的源代码。
·免费型。免费型嵌入式操作系统的优势在于价格方面,另外,应用系统开发者可以获得系统源代码,给开发带来了方便。但免费型的操作系统功能简单、技术支持差、系统的稳定性也不够好。典型的代表系统有嵌入式Linux、uC/OS等。
从嵌入式操作系统的实时性上,可以分为实时嵌入式操作系统和非实时嵌入式操作系统两类。
·实时嵌入式操作系统(Real-Time Embedded OS,RTEOS)。实时嵌入式操作系统支持实时系统工作,其首要任务是调度一切可利用资源,以满足对外部事件响应的实时时限,其次着眼于提高系统的使用效率。实时嵌入式操作系统主要用在控制、通信等领域。目前,大多数商业嵌入式操作系统都是实时操作系统。
·非实时嵌入式操作系统。这类操作系统不特别关注单个任务响应时限,其平均性能、系统效率和资源利用率一般较高,适合于实时性要求不严格的消费类电子产品,如个人数字助理、机顶盒等。
③如何选择嵌入式操作系统
在选择嵌入式操作系统时,也需要做以下几方面的考虑。
·嵌入式操作系统的功能。根据项目需要的嵌入式操作系统功能来选择嵌入式操作系统产品,要考虑系统支持嵌入式操作系统的全部功能还是部分功能,是否支持文件系统和人机界面,是实时系统还是分时系统,以及系统是否可裁减等因素。
·配套开发工具。有些实时操作系统只支持该系统供应商的开发工具。也就是说,还必须向嵌入式操作系统供应商获取编译器和调试器等;有些嵌入式操作系统使用广泛,且有第三方工具可用,因此,选择的余地比较大。
·嵌入式操作系统的可移植性。嵌入式操作系统到硬件的移植是一个重要的问题,是整个系统能否按期完工的关键因素,因此,要选择那些可移植性程度高的嵌入式操作系统,从而避免嵌入式操作系统难以向硬件移植而带来的种种困难,以加速系统的开发进度。
·嵌入式操作系统的内存需求。均衡考虑是否需要额外RAM或EEPROM来迎合嵌入式操作系统对内存的较大要求。有些嵌入式操作系统对内存的要求是目标相关的,例如,Tornado/VxWorks等,开发人员能按照应用需求分配所需的资源,而不是为嵌入式操作系统分配资源。
·嵌入式操作系统附加软件包。嵌入式操作系统是否包含所需的软件部件,例如,网络协议栈、文件系统和各种常用外设的驱动等。
·嵌入式操作系统的实时性如何。有些嵌入式操作系统只能提供软实时性能,对于需要达到硬实时性能要求的系统就不适用;有些嵌入式操作系统既可满足软实时要求,也能满足硬实时要求,例如,MS Windows CE 2.0等。
·嵌入式操作系统的灵活性。嵌入式操作系统是否具有可剪裁性,即能否根据实际需要进行系统功能的剪裁。有些嵌入式操作系统具有较强的可剪裁性,例如,嵌入式Linux和ECos等。
④VxWorks和Linux的比较
VxWorks和Linux两个常见的嵌入式操作系统,其特点如表所示。
|
两种操作系统的主要差异
| 比较类型 |
VxWorks5.5 |
Linux |
| 工作方式 |
操作系统与应用程序处于同一存储空间 |
操作系统与应用程序处于不同存储空间 |
| 多任务支持 |
支持多任务(线程)操作 |
支持多进程、多线程操作 |
| 实时性 |
硬实时系统 |
实时系统 |
| 安全性 |
任务间无隔离保护 |
支持进程间隔离保护 |
| 标准API |
支持 |
支持 | |
通过比较,显然选用类似于Linux的嵌入式操作系统适用本题要求。理由包括以下三点。
①Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态(这点是系统安全性要求),可以有效防止应用软件对操作系统的破坏。
②Linux操作系统凋度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用问隔离。
③嵌入式Linux操作系统支持硬什抽象,可有效地实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。