n RTOS(Real-time operating system,实时系统)在航空、航天、工业过程控制、武器防御系统、自动化导航/控制系统、医疗、信息检索、银行、多媒体系统等领域广泛应用。
n RTOS与通用计算机系统不同,要求系统中的任务不但执行结果要正确,而且必须在一定的时间约束(Deadline)内完成。在RTOS中,一个逻辑上正确的计算结果,若其产生的时间晚于某个规定的时间,那么也认为系统的行为是不正确的。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
n RTOS是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。RTOS的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这个结果的时间。
RTOS特点
(1)约束性
RTOS任务的约束包括时间约束、资源约束、执行顺序约束和性能约束。
n RTOS的任务具有时间约束性。时间约束是任何RTOS都固有的约束。时间约束性可分为“硬实时”和“软实时”。硬实时是指在航空航天、军事、核工业等一些关键领域中应用的系统,时间要求必须能够得到完全满足,否则将造成不可预计的结果。软实时通常是指在监控系统、信息采集系统等某些应用中,有时间约束要求,但偶尔违反不会造成严重影响。
n 资源约束是指多个实时任务共享有限的资源时,必须按照一定的资源访问控制协议进行同步,以避免死锁和高优先级任务被低优先级任务堵塞的时间(即优先级倒置时间)不可预测。
n 执行顺序约束是指各任务的启动和执行必须满足一定的时间和顺序约束。例如,在分布式端到端(end-to-end)实时系统中,同一任务的各子任务之间存在前驱/后继约束关系,需要执行同步协议来管理子任务的启动和控制子任务的执行,使它们满足时间约束和系统可调度性要求。
n 性能约束是指必须满足如可靠性、可用性、可预测性、服务质量(Quality of Service,QoS)等性
(2)可预测性
可预测性是指RTOS完成实时任务所需要的执行时间应是可知的。可预测性RTOS的一项重要性能要求。可预测性包括硬件时延的可预测性和软件系统的可预测性(包括应用程序的响应时间是可预测的,以及操作系统的可预测性)。在多种任务型RTOS中,不但包括周期任务、偶发任务、非周期任务,还包括非实时任务。
多种类型任务的混合,使系统的可调度性、可预测性分析更加困难。
(3)可靠性
大多数RTOS要求有较高的可靠性,要求系统在最坏情况下都能正常工作或避免损失。可靠性是RTOS的重要性能指标。
(4)交互性
外部环境是RTOS不可缺少的一个组成部分,外部环境往往是被控子系统,两者相互作用构成完整的实时系统。嵌入式计算机系统一般作为控制系统,必须在规定的时间内对被控子系统请求做出反应。被控子系统也必须能够正常工作或准备对任何异常行为采取动作。
RTOS调度
给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程就是调度。而RTOS中调度的目的则是要尽可能地保证每个任务满足它们的时间约束,及时对外部请求做出响应。实时调度技术常用的有以下两种。
(1)抢占式调度和非抢占式调度
抢占式调度通常是优先级驱动的调度。每个任务都有优先级,任何时候具有最高优先级且已启动的任务先执行。抢占式调度实时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,其缺点是上下文切换多。而非抢占式调度是指不允许任务在执行期间被中断,任务一旦占用微处理器就必须执行完毕或自愿放弃,其优点是上下文切换少,缺点是微处理器有效资源利用率低,可调度性不好。
(2)静态表驱动策略和优先级驱动策略
静态表驱动策略是一种离线调度策略,指在系统运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表。在系统运行时,调度器只需根据这张时刻表启动相应的任务即可。
优先级驱动策略指按照任务优先级的高低确定任务的执行顺序。优先级驱动策略又分为静态优先级调度策略和动态优先级调度策略。静态优先级调度是指任务的优先级分配好之后,在任务的运行过程中,优先级不会发生改变。静态优先级调度又称为固定优先级调度。动态优先级调度是指任务的优先级可以随着时间或系统状态的变化而发生变化。
RTOS分类
RTOS主要分为强实时(Hard Real-Time)系统和弱实时(Soft Real-Time)系统两类。强实时系统应用在航空航天、军事、核工业等领域中,弱实时系统如视频点播系统、信息采集与检索系统等。
实时任务分类
实时任务的分类方法有多种,根据任务的周期划分,可以分为周期任务、偶发任务和非周期任务3类。根据是否允许任务超时,以及超时后对系统造成的影响,任务又分为强实时任务、准实时任务、弱实时任务和弱一强实时任务4类。
RTOS操作系统和内核
RTOS从单用途专用系统向多用途通用操作系统(如实时Linux等)发展。RTOS从只支持强实时及其应用发展到既支持强实时也支持弱实时及其应用方面,如开放实时系统的服务质量(QoS)多媒体应用、复杂分布式实时系统等。
文章评论(0条评论)
登录后参与讨论