实时操作系统
嵌入式实时系统中采用的操作系统称为嵌入式实时操作系统,它既是嵌入式操作系
统,又是实时操作系统。作为一种嵌入式操作系统,它具有嵌入式软件共有的可裁剪、低
资源、占用、低功耗等特点;而作为一种实时操作系统,它与通用操作系统(如 Windows、
Unix、Linux 等)相比有很大的差别,下面我们通过比较这两种操作系统之间的差距来描述
实时操作系统的主要特点。
最常用的操作系统是通用操作系统,通用操作系统是由分时操作系统发展而来,大部分都
支持多用户和多进程,负责管理众多的进程并为它们分配系统资源。分时操作系统的基
本设计原则是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可
能多的用户请求提供服务。由此可以看出,分时操作系统注重平均表现性能,不注重个体
表现性能。如对于整个系统来说,注重所有任务的平均响应时间而不关心单个任务的响
应时间,对于单个任务来说,注重每次执行的平均响应时间而不关心某次特定执行的响应
时间。通用操作系统中采用的很多策略和技巧都体现出了这种设计原则,如虚存管理机
制中由于采用 LRU 等页替换算法,使得大部分的访存需求能够快速地通过物理内存完成,
只有很小一部分的访存需求需要通过调页完成,但从总体上来看,平均访存时间与不采用
虚存技术相比没有很大的提高,同时又获得了虚空间可以远大于物理内存容量等好处,因
此虚存技术在通用操作系统中得到了十分广泛的应用。
而对于实时操作系统,前面已经提到,它除了要满足应用的功能需求以外,更重要的是还
要满足应用提出的实时性要求,而组成一个应用的众多实时任务对于实时性的要求是各
不相同的,此外实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、
共享资源的互斥访问要求等,这就为系统实时性的保证带来了很大的困难。因此,实时操
作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测
性。可预测性是指在系统运行的任何时刻,在任何情况下,实时操作系统的资源调配策略
都能为争夺资源(包括 CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个
实时任务的实时性要求都能得到满足。与通用操作系统不同,实时操作系统注重的不是
系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,
实时操作系统注重的是个体表现,更准确地讲是个体最坏情况表现。
由于实时操作系统与通用操作系统的基本设计原则差别很大,因此在很多资源调度策略
的选择上以及操作系统实现的方法上两者都具有较大的差异,这些差异主要体现在以下
几点:
(1)任务调度策略:
通用操作系统中的任务调度策略一般采用基于优先级的抢先式调度策略,对于优先级相
同的进程则采用时间片轮转调度方式,用户进程可以通过系统调用动态地调整自己的优
先级,操作系统可根据情况调整某些进程的优先级。
实时操作系统中的任务调度策略目前使用最广泛的主要可分为两种,一种是静态表驱动
方式,另一种是固定优先级抢先式调度方式。
评论8