LabVIEW什么是实时操作系统(RTOS)

简介: LabVIEW什么是实时操作系统(RTOS)

LabVIEW什么是实时操作系统(RTOS)


一般而言,操作系统的任务是管理计算机的硬件资源和应用程序。实时操作系统会执行这些任务,但是运行时间精度和可靠度都极高。在实际应用中,有的系统失常代价高昂,甚至会引起安全事故。这时,操作系统的时间精度和可靠度都显得格外重要。


顾名思义,实时操作系统必须在已知的关键时间内完成关键操作,至少要在绝对大多数情况下在已知时间内完成关键操作。部分这类操作包括操作系统调用和中断处理。完全满足在指定时间内完成关键性操作的实时操作系统,被称为“硬实时”操作系统。大多数情况下能满足在指定时间内完成关键性操作的实时操作系统,被称为“软实时”操作系统。实际情况中,上述分类的指导意义有限。每个实时操作系统都有独特的性能特征,用户在决定使用某个实时操作系统之前需要仔细研究这些特征。


下面通过列子来帮助理解实时操作系统的概念。假设在为一款新车设计安全气囊系统。在该情况下,极小的时间误差(太早或太迟)都会产生灾难性后果,甚至导致人员伤亡。因此,需要一个硬实时系统;在系统设计上要确保没有任何操作的优先级可以凌驾于时间限制之上。另一方面,如要设计一个接收流媒体手机,在保持大致不丢失流媒体数据的前提下可以偶尔遗失少量数据。在这种应用中,一个软实时操作系统就可满足要求。


如果编程合理,实时操作系统可保证程序运行在时间上的稳定可靠性。实时操作系统向用户提供任务优先级排序的高度控制权,也通常会允许用户检查任务执行是否符合时间上设定的要求。


与实时操作系统相比,个人电脑上最常见的操作系统称为通用操作系统,例如,Windows。下面将详尽阐述实时操作系统和通用操作系统的区别。在此之前,要先了解两种操作系统的优劣。Windows等操作系统通过运行多个程序和服务来维持对用户操作的响应,实时操作系统通过精确和可靠度定时机制(关注编程人员设定的优先级)来运行关键性应用程序。


重要的术语和概念


确定性:运行在实时操作系统上的应用程序(或应用程序的关键性片段),如能保证时间精度,就认为是确定性的程序。


软实时和硬实时:完全能保证时间精度的操作系统,称为硬实时操作系统。多数情况下能保证时间精度的操作系统,称为软实时操作系统。


抖动:程序开始时,首次循环相对于后续循环在时间上的差异,称为抖动。实时操作系统可确保在编程合理的情况下,抖动为最小水平;任务首次执行与后续循环执行所用的时间非常接近。


抖动指一次任务执行和后续任务执行之间在时间上的差异。实时操作系统通过各种优化方式使抖动最小化。


实时应用程序范例


实时操作系统用于两类应用:事件响应和闭环控制。事件响应类应用需要在指定的时间内对外界触发条件作出响应。例如,生产线上自动视觉模式识别。在视觉识别系统中,必须在生产线移动之前对待测部分进行拍照和分析。


对运行在硬实时操作系统上的程序进行严格的设计和调试之后,在事件响应上工作的设计人员可保证响应的确定性(在指定时间内发生)。在视觉识别案例中,使用通用操作系统可能会导致无法及时检测待测部分,从而降低生产线速度、强制报废待测品,甚至交付潜在的次品。


在闭环控制系统中,例如,汽车巡航控制系统会连续处理反馈数据,调整输出。因为输出数据取决于是否能在指定时间内处理完输入数据。在指定时间内完成任务至为重要,只有这样才能有正确的输出。如果巡航系统无法在给定时间点上判断合适的油门设置,会发生什么情况?硬实时系统可保证在指定时间内及时处理控制系统的输入数据。


还必须指出,很多程序必须运行多个周期后才能充分体现实时操作系统的可靠性。与通用操作系统同时处理多个程序和进程不同,实时操作系统上只有少量程序运行。实时操作系统适用于宕机代价高昂的全天候系统。


探究事实:实时操作系统与通用操作系统有哪些不同之处


Windows、MacOS等操作系统是开发和运行非实时测量和控制应用程序的优秀平台。这些操作系统使用于实时操作系统之外的使用场合。对于要求精确定时和长时间稳定运行的系统而言,通用操作系统不是理想的平台。下面将阐述两种操作系统之间的区别,以及编写实时应用程序时的注意事项。


设置优先级


编写应用程序时,大多数操作系统都允许程序员指定应用程序的总体优先级,以及应用程序中不同任务(线程)的优先级。这些优先级设置将程序和任务的重要性告知操作系统。如两个任务同时运行,操作系统将优先运行优先级设置较高的任务。


在实际应用中,通用操作系统不会始终严格按照程序设置的优先级执行。因为通用操作系统可同时运行多个应用程序和进程,所有任务都会被分配到一些处理时间。在某些情况下,低优先级任务的临时优先级可能会比高优先级任务更高。这样,每个任务都会分配到一定的运行时间。这会违背程序设计人员的设计初衷。


实时操作系统可严格按照程序员设置的优先级执行程序。在多数实时操作系统上,如果一个高优先级任务占用率100%的处理器资源,低优先级任务将一直等待直到高优先级任务完成。因此,设计实时应用程序时,必须谨慎、合理设置优先级。在一个典型的实时应用程序中,设计者应该将实时代码放置在高优先级的部分。写入磁盘、网络通信等较低优先级的代码应该放在较低优先级的部分。


中断延迟


设备生成一个中断和设备中断发生之间的时间,称为中断延迟。通用操作系统响应中断需要的时间不固定,实时操作系统必须确保在一个固定的时间内响应中断。也就是说,实时操作系统的延迟必须是已知的固定的值。


性能


一个常见的误解是实时操作系统的性能高于通用操作系统。在某些情况下,因为不需要在多个应用程序和服务之间进行多任务操作,实时操作系统的性能更好。这并不是绝对的规律。实际应用程序的性能取决于CPU主频、内存架构、程序特征,等等。


即使实时操作系统对执行速度没有直接影响,但是它与通用操作系统相比具有更精确和更可靠的时间特性。


需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
2月前
|
设计模式 算法 安全
实时操作系统(RTOS)深度解析及Java实现初探
【10月更文挑战第22天】实时操作系统(RTOS,Real-Time Operating System)是一种能够在严格的时间限制内响应外部事件并处理任务的操作系统。它以其高效、高速、可靠的特点,广泛应用于工业自动化、航空航天、医疗设备、交通控制等领域。本文将深入浅出地介绍RTOS的相关概念、底层原理、作用与功能,并探讨在Java中实现实时系统的方法。
82 1
|
6月前
|
传感器 网络协议 物联网
嵌入式开发中的常用实时操作系统(RTOS)介绍
选择合适的RTOS是嵌入式开发中的关键步骤,不同的RTOS具有各自的优势和适用场景。开发者需要根据项目需求综合考虑硬件平台、实时性要求、开发资源和支持等因素,选择最合适的RTOS系统。例如,如果需要开源和灵活的解决方案,可以选择Zephyr或RT-Thread;如果需要高性能和商业支持,可以选择VxWorks或ThreadX。希望本文能帮助您更好地了解各类RTOS,并为您的嵌入式开发项目提供参考。
324 1
|
6月前
|
传感器 物联网 Linux
物联网设备的操作系统之争:Linux vs RTOS
【6月更文挑战第4天】在遥远的数码星球,物联网城中的Linux先生与RTOS小姐展开激烈角逐,分别在操作系统领域各显神通。Linux先生以其开源、兼容性强、功能丰富占据服务器、桌面及嵌入式设备市场,适合处理复杂任务和需要强大计算能力的设备。而RTOS小姐以实时性、高效响应和低资源占用见长,适用于资源有限、强调实时性的物联网设备。设备制造商在两者间抉择,引发物联网设备操作系统的选择大战。通过Python与FreeRTOS示例,展现了两者在智能家居和生产线控制等场景的应用。在物联网世界,Linux与RTOS共同推动设备智能化,为生活带来更多便捷。
301 3
|
6月前
|
传感器 物联网 Linux
在物联网城,Linux先生与RTOS小姐分别代表两种操作系统,展开激烈角逐
【6月更文挑战第4天】在物联网城,Linux先生与RTOS小姐分别代表两种操作系统,展开激烈角逐。Linux以其开源、功能丰富及强大计算能力,适用于需要复杂处理的设备,如智能温控器。而RTOS以实时性、小巧高效,擅长资源有限、强调实时响应的设备,如生产线控制系统。设备制造商需根据需求选择适合的操作系统,以实现设备智能化和生活便捷化。物联网世界的竞争,最终服务于让设备更智能、生活更美好的目标。
70 2
|
6月前
|
网络协议 Linux 编译器
【原创】EtherCAT主站IgH解析(二)-- 如何将Igh移植到Linux/Windows/RTOS等多操作系统移植指南
EtherCAT主站方案对比:商业的如Acontis、TwinCAT3和开源的igh、SOEM。SOEM易移植但功能和实时性不足,适合简单应用;igh功能强大,实时性能优秀,基于内核态,适合复杂场景。igh能移植到其他RTOS,但需克服多任务无调度的挑战。依赖操作系统服务如定时器、内存分配,适合Linux内核,但移植到裸机复杂。
246 0
|
7月前
|
Ubuntu Linux iOS开发
LabVIEW在不同操作系统上使VI、可执行文件或安装程序
LabVIEW在不同操作系统上使VI、可执行文件或安装程序
263 3
|
7月前
|
Linux iOS开发 MacOS
LabVIEW前面板上的字体大小取决于操作系统
LabVIEW前面板上的字体大小取决于操作系统
46 0
|
7月前
|
Web App开发 运维 算法
软件体系结构 - 实时操作系统(Real-Time Operating System, RTOS)
【4月更文挑战第8天】软件体系结构 - 实时操作系统(Real-Time Operating System, RTOS)
119 0
|
消息中间件 算法 安全
RTOS实时操作系统中RT-Thread、FreeRTOS和uCOS 选择哪一个学习比较好?
RTOS实时操作系统中RT-Thread、FreeRTOS和uCOS 选择哪一个学习比较好?
|
存储 消息中间件 安全
瑞萨RA2E1使用实时操作系统RTOS
瑞萨RA2E1使用实时操作系统RTOS
405 0
瑞萨RA2E1使用实时操作系统RTOS