
实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。
实时多任务操作系统,以分时方式运行多个任务,看上去好象是多个任务“同时”运行。任务之间的切换应当以优先级为根据,只有优先服务方式的RTOS才是真正的实时操作系统,时间分片方式和协作方式的RTOS并不是真正的“实时”。美国CMX公司的RTOS采用全优先服务方式的任务调度,可以使中断潜伏时间减到最小。其RTOS的主要功能模块有调度和中断处理(为了优化用汇编编写),任务管理,事件管理,定时器管理,报文管理,循环队列管理,资源管理,固定存储块管理,规范的UART管理,自动掉电管理。这些也是标准的RTOS所应具有的基本功能。RTOS也体现了一种新的系统设计思想和一个开放的软件框架,工程师可以在不大量变动系统其它任务的情况下增加或去掉一个任务;一个项目开发的过程中,可以有多个工程师同时进行系统的软件开发,各个人之间只要制订好规程和协议即可,既缩短了开发时间,又降低了最终软件产品对于具体某个开发者个人的依赖性。为RTOS设计的成熟和通用的任务可以以库函数的形式供其它人继续利用,和C语言的设计思想一致。因此可以说RTOS 是嵌入式软件的编写从“小生产方式”进入“大 生产方式”的必然产物。