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

1.1.1 什么是实时操作系统

1.RTOS的基本含义

操作系统 (Operating System,OS)是一管理计算机硬件与软件资源的程序,是计算机的系统软件。一般个人计算机(Personal Computer,PC)的操作系统提供设备驱动管理、进程管理、存储管理、文件系统、安全机制、网络通信,以及使用者界面等功能。

嵌入式操作系统 (Embedded Operation System,EOS)是一种工作在嵌入式计算机上的系统软件。一般情况下,它嵌入到微控制器(Microcontroller,MCU)、应用处理器(Application Processor)或其他存储载体中。它有一般操作系统最基本的功能,负责嵌入式系统的软/硬件资源的分配、任务调度、同步机制、中断处理等功能。

嵌入式实时操作系统 (Embedded Real Time Operation System,RTOS)是一种具有较高实时性的嵌入式操作系统。实时是指能够在较短的确定时间内完成特定的系统功能或中断响应。通常,可以认为RTOS 是一种实时的、可裁剪、可固化、可移植,支持嵌入式系统应用 的操作系统软件。通常包括系统内核、与硬件相关的底层驱动程序及接口、通信协议、图形 界面等。 RTOS在系统实时高效性、硬件的相关依赖性、软件固态化,以及应用的专用性等方面具有较为突出的特点。RTOS主要用于对响应时间有具有较高实时性要求的嵌入式系统,如工业控制、军事设备、航空航天等领域。

2.RTOS的基本作用

在不使用RTOS(以下简称NOS)的嵌入式系统中,系统复位后,首先进行堆栈、系统时钟、内存变量、部分硬件模块、中断等初始化工作,然后进入无限循环。在这个无限循环中,中央处理器(Central Processing Unit,CPU)一般根据一些全局变量的值决定执行各种功能程序(任务),这是第一条运行路线。若发生中断,将响应中断,执行中断服务例程(Interrupt Service Routines,ISR),这是第二条运行路线,执行完ISR后,返回中断处继续执行。从操作系统的调度功能角度理解,NOS系统中的主程序,可以被简单地理解为一个RTOS内核,这个内核负责系统初始化和调度其他任务。

实时操作系统RTOS是一个标准内核,包括芯片初始化、设备驱动及数据结构的格式化,应用层程序员可以不直接对硬件设备和资源进行操作,而是通过标准调用方法实现对硬件的操作,所有的任务由RTOS内核负责调度。可以这样理解,RTOS是一段嵌入在目标代码中的程序,系统复位后首先执行它,用户的其他应用程序(任务)都建立在RTOS之上。不仅如此,RTOS将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的应用程序编程接口(Application Programming Interface,API),并根据各个任务的优先级,在不同任务之间合理地分配CPU的时间。

3.RTOS的基本结构

从结构来看,一般情况下,RTOS内核表现为微内核(Micro Kernel)结构。所谓微内核,是指将核心功能(如任务管理、任务调度、任务通信、中断处理)放在内核中,而将那些不是必需的功能和服务(如存储管理、设备管理、网络通信、文件系统等)作为内核之上可配置的部分。这样,整个操作系统就由提供一些基本服务机制的微内核加上一些其他服务构成。RTOS各个系统调用和服务都由内核发消息到不同的服务进程,服务进程执行相应的操作,然后以消息的方式返回内核。

4.RTOS的基本功能

一个典型RTOS的功能 是:为每个任务建立一个可执行的环境,方便在任务间传递消息,在中断服务例程ISR与任务之间传递事件,区分任务执行的优先级,管理内存,维护时钟及中断系统,并协调多个任务对同一个I/O设备的调用。可以概括为:任务管理与调度、任务间的通信与同步、存储管理、时间管理、中断处理等。

本书以Freescale的MQX实时操作系统为蓝本阐述RTOS的应用与基本原理,RTOS的基本功能将在有关章节分类阐述。

(1)任务管理与调度:任务管理的主要职能是负责任务的创建、挂起、恢复与删除等。RTOS调度的基本单位就是任务,MQX的任务有终止态、阻塞态、就绪态和激活态四种状态,任何时刻只能有一个任务处于激活态,任务调度的主要职能就是决定在某一时刻哪个任务处于激活态。任务的四种状态的具体含义将在5.1.2节阐述,任务管理与调度的具体内容将在第5章阐述。

(2)任务间通信和同步:MQX的任务间通信和同步主要机制有消息、事件、信号量,有关内容将在第6章阐述。

(3)存储管理:负责任务占用内存资源的分配与管理,有关内容将在第7章阐述。

(4)时间管理:RTOS需要一个硬件定时器来产生需要的“嘀嗒”中断,作为整个系统的时间基准,这个时间基准是系统调度的基础。嘀嗒中断也是系统定时服务的基础,生成系统各种格式的时间。有关时间管理将在第3章阐述。

(5)中断处理:RTOS的中断处理有自己特殊的要求,那就是中断处理程序要短小,以减少中断禁止和中断延迟时间,中断处理是RTOS的核心功能之一。有关中断处理将在第3章阐述。

5.RTOS与通用操作系统的简明比较

与一般通用操作系统相比,RTOS的突出特点是实时性。一般的通用操作系统(如Windows、UNIX、Linux等)大都从分时操作系统发展而来。在单CPU条件下,分时操作系统的主要运行方式是:对于多个任务,将CPU的运行时间分为多个时间段,并且将这些时间段平均地分配给每个任务,轮流让每个任务运行一段时间,或说每个任务独占CPU一段时间,如此循环,直至完成所有任务。这种操作系统注重所有任务的平均响应时间而较少关心单个任务的响应时间,对于单个任务来说,注重每次执行的平均响应时间而不关心某次特定执行的响应时间。而RTOS系统中,要求能“立即”响应外部事件的请求。这里的“立即”含义是相对于一般操作系统而言的,可在更短的时间内响应外部事件。与通用操作系统不同,RTOS注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求。也就是说,RTOS注重的是个体表现,更准确地讲是个体最坏情况表现。 C+hYCDm7W0l62On5NRKWnIZZp0awEsAluZe66L1lXpmWvtcw3A0A2ULX8GO9+qbp

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