RTOS,英文全称是 Real-time Operation System,中文就是 实时操作系统,又称及时操作系统。
实时操作系统,是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。
简单来说,就是能在规定时间内完成任务的操作系统。
实时操作系统又可以分为软实时和硬实时。
软实时只要按照任务的优先级,尽可能快地完成操作即可。
举个例子,电脑的输入处理可以算作是一种“软实时”。为了保证用户的最佳体验,计算机对每个输入的响应应当在一个恰当的时间范围;但如果响应超出了这个时间范围,可能只是稍有卡顿,并不会让人觉得这台电脑无法使用。
比如,最近我的 Windows11的输入法经常性卡顿,偶尔敲字时会突然卡在那里,但最终还是会将我输入的内容显示在响应的地方。把输入法调到实时便可解决问题。
硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的,如果无法做到则意味着整个系统的失败。
硬实时操作系统一般都是在对某些对时间把控非常严格的领域使用,例如如说火箭发射,火箭发射的时间都是要精挑细选的。比如小学课本上 1967年8月23日,苏联的“联盟一号”宇宙飞船在返回大气层时,由于忽略了一个小数点,突然发生了恶性循环事故,导致了减速降落伞无法打开;最终导致宇宙飞船在两小时后坠毁,宇航员弗拉迪米·科马洛夫殉难。
像火箭发射这种精密度极高的工作,稍有不慎,算错了时间点,就会“箭毁人亡”,非常需要实时操作系统。
还比如生活中常见的安全气囊,也是硬实时操作系统应用的一个场景。如果汽车发生意外后,安全气囊没有在极短的时间内弹出来并充满氮气,就会给前排驾驶人员带来极大的生命威胁。
① 高精度计时
系统计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。
② 多级中断机制
一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。
③ 实时调度机制
实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。
简单来说,实时性操作系统的特点如下: ①异步的事件响应; ②切换时间和中断延迟时间确定; ③优先级中断和调度; ④抢占式调度。