1.2 实时操作系统概述
1.2.1 什么是实时操作系统
实时操作系统(Real Time Operating System,RTOS)是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调、一致运行的操作系统。
所谓足够快,就是要使任务能在最晚启动时间之前启动,能在最晚结束时间之前完成。
因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。
实时系统与非实时系统的本质区别就在于实时系统中的任务有时间限制。实时操作系统可以用于不需要实时特性的场合,反之则不行。
1.2.2 实时操作系统的基本特征
实时操作系统具有以下基本特征。
1.实时操作系统首先是多任务操作系统
实时操作系统最基本的要求就是它是一个多任务的操作系统,即在多任务的基础上,因为实时性的要求,编写出的实时操作系统。所谓多任务,是指允许系统中多个任务同时运行,而CPU只有一个,在某一个时刻,只有一个任务占有CPU。因此,多任务操作系统的核心任务之一就是任务调度,为任务分配CPU时间。
2.多级中断机制
一个实时系统通常需要处理多种外部信息或事件,如串行通信、网络通信或者事件报警,例如温度超高。但处理的紧迫程度有轻重缓急之分,很明显,温度超高的报警事件是最急切的,必须立即做出响应,而通信可以延后处理,并不会使整个系统出现问题。因此,建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理是实时操作系统必须具备的功能。
3.优先级调度机制
为做到实时,任务必须分优先级,也就是越急迫的任务优先级越高。任务管理模块必须能根据优先级调度任务,而又能保证任务在切换的过程中不被破坏。通过该机制,操作系统应能保证优先级高的任务更多地获得 CPU,而优先级较低的任务也不至于因为得不到运行而被“饿死”。