购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 嵌入式操作系统

嵌入式操作系统是一种用于嵌入式系统的专用操作系统,它是一种稳定性、兼容性好、安全可靠的软件模块的集合,是嵌入式系统的重要组成部分。嵌入式操作系统作为一种操作系统,因而具有操作系统通用的基本任务构成,内容包括存储器管理、设备管理、任务调度和管理、中断处理、多任务处理等操作系统任务。但嵌入式操作系统对代码强度、运行效率,代码大小、兼容性、可靠性等都有特殊需求。嵌入式操作系统与硬件的结合使用提高了嵌入式系统工作效率,并为应用程序的开发提供了极大的便利,同时也加快了嵌入式产品的开发周期。

嵌入式操作系统通常由硬件相关的底层驱动程序、系统内核、驱动程序接口、应用程序接口、通信协议、图形界面标准工具(如MP4、手机)组成。与通用操作系统相比,嵌入式操作系统在系统实时性、硬件依赖性、软件固化性以及应用专用性方面具有突出特点。

1.3.1 嵌入式操作系统的特点

1)可裁剪性

嵌入式系统是软硬件可裁剪的系统,嵌入式操作系统需要提供可剪裁的内核和其他功能,即能够让用户根据自己的需要对操作系统进行配置,以“需”定“求”。

嵌入式系统的个性化很强,其中嵌入式操作系统的调度机制和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改。

2)可移植性

由于嵌入式微处理器的种类繁多,每种处理器都有自己的应用领域,所以嵌入式操作系统要支持尽可能多的处理器,才能满足用户对硬件选择的灵活性。这对微处理器生产商、嵌入式操作系统开发商和用户来说都是一件好事。为了使操作系统具有可移植性,嵌入式操作系统在硬件支持方面通常采用硬件抽象层(Hardware Abstraction Layer,HAL)和板级支持包(Board Support Package,BSP)的结构设计方法。

3)高实时性

实时性是一些嵌入式系统的实现要求,嵌入式操作系统必须满足具体应用所需要的实时性要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。

4)低资源占有性

由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。

1.3.2 嵌入式操作系统分类

1)从应用角度分类

从应用角度来看,嵌入式操作系统可分为通用嵌入式操作系统和专用嵌入式操作系统。当使用通用嵌入式操作系统时,一般要经过重新定制以适应具体的硬件环境要求;而专用嵌入式操作系统是针对应用广泛、环境变化较小的嵌入式系统专门设计的,所以可以不经定制和裁减直接使用,或经少量配置即可应用。

常见的通用嵌入式操作系统有VxWorks,Linux,Windows CE等。常见的专用嵌入式操作系统有Smartphone,Pocket PC,Andriod等。

2)从实时性分类

嵌入式操作系统按实时性可分为以下两类:

①非实时性嵌入式操作系统。主要面向消费电子类产品,如个人数字助理(Personal Digital Assistant,PDA)、移动电话、电子书等。Smartphone就是微软公司开发的面向手机应用的嵌入式操作系统。

②实时嵌入式操作系统。主要面向工业控制、通信等领域,如WindRiver公司的Vx Works。

实时嵌入式操作系统又可分为以下两类:

①可抢占式实时操作系统。内核可以抢占正在执行任务的CPU的使用权,并将使用权交给优先级更高的任务。可抢占式实时操作系统的实时性好,优先级高的任务可以先于优先级低的任务执行。VxWorks,Linux和Windows CE,NET都是可抢占式实时操作系统,其中Vx Works是公认的实时性较好的嵌入式操作系统。

②不可抢占式实时操作系统。CPU执行某个任务时不能被中断,直到CPU交出控制权才可执行下一个任务。显然这种系统的实时性与特定任务的执行时间有关。

1.3.3 常见嵌入式操作系统简介

1)VxWorks

VxWorks是美国WindRiver公司设计开发的一种具有微内核的嵌入式实时操作系统(Real Time Operating System,RTOS),具有高性能的内核,广泛的网络通信协议支持,良好的开发环境,高度的可裁剪性和开放式结构。VxWorks以其良好的可靠性和卓越的实时性,在嵌入式操作系统领域占有重要地位,广泛应用于通信、军事、航空、航天等高精尖技术以及实时性要求极高的领域。

2)嵌入式Linux

另一个重要的嵌入式操作系统是嵌入式Linux。Linux是源代码开放软件的先锋,从诞生至今,短短几十年,其发展速度、规模以及影响,却是任何一种操作系统不能比拟的。Linux起源于x86 框架的PC机开发,随着Linux的发展和不断完善,它已经能很好地支持ARM,M68000,MIPS,PowerPC等主流处理器架构,已成为嵌入式系统的主流操作系统之一。Linux除了具有功能强大、高性能、稳定性好以及源代码开放的优势,其最大特点是Linux的内核具有非常良好的结构,此特点使得用户可根据系统需求,对内核进行配置和裁剪,这正好满足嵌入式应用中的多样性要求。此外,嵌入式Linux是在标准Linux的基础上针对嵌入式系统优化而成的,这使得它体积更小,运行更稳定。同时,Linux是免费的,没有其他商业性嵌入式操作系统需要的许可费用。这也使它具有很强的市场竞争力,成为了主流的嵌入式操作系统。

3)uClinux

uClinux(micro-Control-Linux)是Lineo公司开发的源代码开放的操作系统,主要针对没有MMU(Memory Management Unit)的嵌入式微处理器而设计,是众多嵌入式Linux家族的重要成员。uClinux继承了Linux的稳定性、移植性、实时性、网络功能、完备文件系统支持等优良特性。编译后的目标文件小于 1 MB,已成功地应用于许多嵌入式系统。

4)RT-Linux

RT-Linux(Real-Time Linux)是美国墨西哥理工学院开发的实时嵌入式Linux操作系统,与uClinux一样,RT-Linux也是为没有MMU的嵌入式系统设计的。但RT-Linux的开发者并不是按实时嵌入式操作系统的特点重写Linux内核,而是增加了一个小巧的实时内核,并将标准Linux内核作为实时内核的一个进程,同其他进程一起调度。这样做的好处是既对Linux的改动最小,又充分继承了Linux下的丰富软件资源。

5)Windows CE

Windows CE(Windows Compact Edition)是微软公司开发的嵌入式操作系统,是Win32 API的一个子集,是一个全新的操作系统,而不是标准Windows系统的精简版本。支持x86,ARM,MIPS等近 200 种具有MMU的嵌入式处理器。Windows CE提供了数百个功能模块,开发人员可根据系统需求选择自己需要的支持模块,从而达到功能裁剪的目的。Windows CE是一个 32 位、多线程、多任务、可抢占式的实时操作系统,同时也是一个有限开放代码的嵌入式操作系统,其允许开发人员对这部分代码进行修改。

6)Android系统

Android系统是Google在 2007 年 11 月 5 日公布的基于Linux平台的开源智能手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称首个为移动终端打造的真正开放和完整的移动软件。Android运行于Linux Kernel之上,但并不是GNU/Linux。Android的Linux Kernel控制包括安全(Security)、存储器管理(Memory Management)、程序管理(Process Management)、网络堆栈(Network Stack)、驱动程序模型(Driver Model)等。Android系统的主要特点有:良好的平台开放性、可以实现个性化应用设定和与Google应用的无缝结合。

7)Huawei LiteOS

Huawei LiteOS是华为针对物联网领域推出的轻量级物联网操作系统,是华为物联网战略的重要组成部分,具备轻量级、低功耗、互联互通、组件丰富、快速开发等关键能力,基于物联网领域业务特征打造领域性技术栈,为开发者提供“一站式”完整软件平台,有效降低开发门槛、缩短开发周期,可广泛应用于可穿戴设备、智能家居、车联网、LPWA等领域。

8)FreeRTOS

由于嵌入式实时操作系统需占用一定的系统资源(尤其是RAM资源),只有μC/OS-Ⅱ、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对于μC/OS-Ⅱ,embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁剪、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为 6.0 版。作为一个轻量级的操作系统,FreeRTOS提供的功能包括任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。 ENGlMSDtGkU59DI5POfe16XzdAyvTSoSWLsGflCeoBaCw1SIYqORhBbbzEj1Tj4O

点击中间区域
呼出菜单
上一章
目录
下一章
×