嵌入式操作系统概述

嵌入式操作系统概述

1. 嵌入式操作系统的概念

嵌入式操作系统(EOS)是工作在嵌入式环境中的操作系统。国际市场上已经出现了几十种嵌入式操作系统产品

与通用操作系统一样,可以从两个方面来描述嵌入式操作系统的功能

  • 从软件开发的角度,可以把EOS看成是一种扩展机或虚拟机。它把底层的硬件细节封装起来,为运行在它上面的软件提供一个抽象的编程接口。软件的开发不是直接在机器硬件的层面上进行,而是在这个编程接口的层面上进行,这样就使得这些软件的开发变得更加容易
  • 从系统管理的角度,可以把EOS看成是系统资源的管理者,负责管理系统当中的各种软硬件资源,如处理器、内存、各种I/O设备、文件和数据等,使得整个系统能够高效、可靠地运转

作为运行在嵌入式环境中的操作系统,EOS还有一些与嵌入式系统相关的特点:

  • 其目标是为了完成某一项或有限项功能,而非通用型的操作系统
  • 在性能和实时性方面可能有严格的限制
  • 能源、成本和可靠性通常是影响设计的重要因素
  • 占用资源少,适合在有限存储空间运行
  • 系统功能可针对需要进行裁剪、调整,以便满足最终产品的设计要求

2. 嵌入式操作系统的分类

2.1 按系统的类型分类

按照系统的类型,可以把嵌入式操作系统分为商用系统、专用系统和开源系统三类

  • 商用系统:商业化的嵌入式操作系统
  • 专用系统:专业厂家为本公司产品特制的嵌入式操作系统
  • 开源系统:开放源代码的嵌入式操作系统。是近年来发展迅速的一类操作系统
2.2 按响应时间分类

按照系统对响应时间的敏感程度,可分为实时操作系统(Real Time Operating System,RTOS)和非实时操作系统

  • 实时操作系统(RTOS):是对响应时间要求非常严格的系统,当某一个外部事件或请求发生时,相应的任务必须在规定的时间内完成相应的处理

实时操作系统可分为硬实时和软实时两种情形
– 硬实时系统:系统对响应时间有严格的要求,如果响应时间不能满足,会引起系统的崩溃或致命的错误
– 软实时系统:系统对响应时间有要求,如果响应时间不能满足,将带来额外的但是能够接受的代价

  • 非实时操作系统:在响应时间上没有严格的要求,如分时操作系统,它是基于公平性原则的,各个进程分享处理器,获得大致相同的运行时间
2.3 按软件结构分类

按照软件的体系结构,可分为单体结构、分层结构、微内核结构三大类

  • 单体结构:是一种常见的组织结构。在单体结构的操作系统中,中间件和设备驱动程序通常就集成在系统内核中。整个系统通常只有一个可执行文件,里面包含了所有的功能组件,如下图示。系统的结构就是无结构,这个操作系统由一组功能模块组成,这些功能模块之间可以相互调用。例如,嵌入式Linux操作系统、Jbed RTOS、uC/OS-II等都属于单体内核系统

在这里插入图片描述

  • 分层结构:一个操作系统被划分为若干层次(0~N),各层之间的调用关系是单向的,即某一层次上的代码只能调用比它低层的代码。只有一个大的可执行文件,其中包含设备驱动程序和中间件。开发和维护较为简单,但是每个层次上都要提供API接口函数,会带来额外的开销,从而影响到系统的规模和性能

在这里插入图片描述

  • 微内核结构:客户/服务器结构的操作系统,指的是在内核中,把操作系统的大部分功能都剥离出去,只保留最核心的功能单元(如进程管理和存储管理)。微内核结构的特点是内核非常小,大部分的系统功能都位于内核之外

在这里插入图片描述

3. 常见的嵌入式操作系统

  • VxWorks
  • 嵌入式Linux
  • Windows CE
  • uC/OS-II
  • PalmOS