• 神奇的瘦身利器让你轻松瘦身,放心变美

在线操作系统(漫谈实时操作系统)

好闻分享 wpadmin 3年前 (2022-04-12) 157次浏览 0个评论

在线操作系统(谈实时操作系统)

简介:实时操作系统(RTOS)是一种实时管理硬件资源、托管应用程序和处理数据的操作系统。它定义了实时任务处理时间、中断延迟以及硬件和应用的可靠性,这对于低功耗和有限内存的设备以及依赖它们的 *** /系统尤为重要。RTOS与通用操作系统的关键区别在于,实时操作系统在应用任务的接受和完成时间上具有很高的可靠性和一致性。

作者简介:彭宇,教授高级工程师,上海工业自动化仪表研究院技术顾问,PLCopen中国组织名誉主席,工业和信息化部智能制造标准化体系建设工作专家,全国智能制造标准化协调推进小组专家咨询组专家。*本文由工控百家坛授权发布。

一个

实时,硬实时

以及确定性的基本概念。

在微软1995年出版的文件《实时系统与微软Windows NT》中,对硬实时操作系统的定义是这样的:硬实时操作系统“必须在指定的时间间隔内无任何故障地响应一个事件,并且这个响应必须是可预测的,不受操作系统所承担的其他活动的影响。”因此,硬实时系统必须在预定的时间间隔内不间断地操作其数据或事件。相反,软实时系统仅在平均意义上以定时的方式操作其数据或事件,而不考虑延迟的进程调用(DPC)对其中断所造成的暂停。

根据这个定义,很明显Windows NT不是一个硬实时操作系统。NT不能保证控制的确定性,其软实时性难以保证控制应用的有效执行。用于实时控制时也有以下缺陷:线程优先级太少;决策不透明、不确定;优先级反转可能会发生,特别是当处理中断时,会使高优先级任务等待。

在工业控制系统中引入了硬实时和软实时的概念,它们的完整表达应该是这样的:在硬实时系统中,每一个事件都必须被响应,并且从事件发起到任务执行总是发生在一个有界的时间段内(见图1上半部分);在软实时系统中,有些事件可能不会触发任务执行而丢失,因此无法保证任务执行所需的时间在一个有界的时间段内(见图1下半部分)。显然,没有硬实时环境的支持,图1中的控制器处于不稳定状态,其控制品质是不可接受的。因此,操作系统的强实时性是影响控制系统确定性的关键因素。

图1示出了周期性实时控制任务的硬实时和软实时处理之间的差异。

计算机性能和确定性不是等同的概念。计算机的性能是处理器有效工作的能力。一般来说,性能越好,在一定时间内可以处理的指令越多。一般认为,提高执行速度(即提高处理器主时钟的频率)可以提高性能。事件等待时间是对系统响应异步事件能力的度量。系统的事件等待时间与确定性密切相关。它与CPU响应中断并控制总线的总时间以及系统将CPU状态更改为中断处理程序的能力有关。

通过定义硬实时、软实时和控制确定性的概念,可以得出这样的结论:硬实时系统的时间进度是预先安排好的,所以从对外部事件的响应开始,保证每个任务在一个精确的时限内执行,在一定的时间间隔内完成程序。因此,硬实时系统在时间尺度上是确定的。实时系统通常考虑初始例程的平均时间长度,因此不可避免地会存在受其他因素限制的等待时间,这就很难确定程序的执行时间。因此,对于对任务确定性有严格要求的应用,必须选择具有确定性特征的硬实时操作系统。

还有一种表达方式。时间是区分硬实时和软实时的关键参数。在硬实时系统中,时间线被视为在任何情况下都必须遵循的准则。实时系统不使用任何类型的永久内存,因此它们的进程必须在之一次执行时正确完成,也就是说,它们必须在指定的时间内准确地响应事件。这个硬的预定时间通常在毫秒量级。另外,硬实时系统的数据文件都是中小存储容量,所以对数据完整性的要求不像大数据文件那么简单。飞行控制系统、飞行交通控制系统、飞机自动驾驶系统、导弹制导系统、反导系统、核反应堆控制系统、铁路信号系统、电子医疗设备系统、起搏器、工业控制系统、运动控制系统等硬实时系统。

2

采用实时操作系统的必要性

实时操作系统(RTOS)是一种嵌入式/非嵌入式应用软件的基础和开发平台。在开发阶段,RTOS可以让开发工作更容易、更高效;在运行阶段,它自动执行软件程序,按时运行,并能自动响应外部事件。

从更有效地应用软件执行任务的角度来看,我们有充分的理由采用实时操作系统。因为实时操作系统提供基于优先级的调度,所以我们可以将非关键处理任务与关键处理任务分开。实时操作系统提供API函数,允许我们开发更清晰、更小的应用代码;对时间要求严格的任务型设计进行抽象,会使软件模块之间的相互依赖变少;实时操作系统提供基于模块化任务的开发,便于测试模块化任务。基于任务的API促进了任务的模块化开发,通常使任务在系统中的功能明确,同时使团队能够根据任务进行分工,独立完成部分项目。RTOS是事件驱动的,不会把时间花在由没有发生的事件引起的处理上。

实时操作系统由以下几部分组成(见图2):调度器根据优先级决定任务执行的顺序;对称多处理器实时操作系统可以并行处理许多不同的任务。函数库用户通过函数库作为接口与实时操作系统的内核和应用代码连接,应用程序允许用户向内核发送请求使用函数库,从而给出所需的结果;管理实时操作系统中分配的每个程序的存储室空是RTOS最重要的部分;快速调度延迟是操作系统识别的任务终止与线程实际花费的时间之间的间隔,该线程在就绪队列中并已开始处理;定义用户数据对象和类的RTOS系统使用C、C++等编程语言,需要根据它们的操作进行组织。

图2实时操作系统的基本组成

作为系统软件的核心,嵌入式操作系统的主要功能如下:

①有效管理越来越复杂的系统资源;

(2)虚拟化硬件,让开发者从驱动的移植和维护中获得解脱;

③提供库函数、驱动程序、工具集和应用程序。

实时操作系统一般有以下几个特点:占用内存很少,比如VxWorks的内核极小;消耗更少的资源;实时性强,比如VxWorks对外部事件的响应≦1 ms;对事件的响应时间是高度可预测的;能够在不可预测的环境中工作;内核保存被中断任务的状态,并决定下一个应该运行哪个任务;内核恢复被中断任务的状态,并将任务的控制权交还给CPU。随着嵌入式设备的功能越来越强大和复杂,系统的开发越来越依赖于操作系统,使得操作系统成为嵌入式系统不可或缺的一部分。

实时操作系统的选择

嵌入式系统可用的实时操作系统几乎有200种,每种操作系统软件的差异都很微妙,甚至难以捉摸。我们不妨从调度算法、信号传输特性、内存需求、等待时间、工具支持、价格模型等方面的性能和知识来区分不同操作系统的差异。

选择实时操作系统时,可以考虑以下因素。首先,性能,这是选择RTOS时要考虑的最重要的因素,要从使用场景和使用范围合理考虑。比如同时执行任务的更大数量,选择太多浪费资源,选择太少可能不够。中间件,如果实时操作系统中没有中间件的支持,那么流程集成就需要时间。应选择声誉良好的RTOS系统,以免在执行任务时出错。一般来说,嵌入式系统的资源是有限的,而实时操作系统的程序量较小,所以在嵌入式系统中广泛使用实时操作系统是最合适的。另外,用户愿意选择任务转移时间较少的实时操作系统,这样在任务转移时实时性还是很好的。独特功能:一个好的RTOS还应该有一些附加功能,比如如何执行命令,有效保护系统的内存等。24/7性能:RTOS适用于那些需要长时间每天24小时运行的应用程序。实时操作系统的24/7性能是必须的。

选择一款适合嵌入式产品的RTOS并不是一件容易的事情。目前广泛使用的硬实时操作系统有:Windows CE(版本V.6.0/7.0以上)、VxWorks(美国风河公司,已被英特尔收购)、pSOS、Ventur Com ETS 10.1、Ventur Com RTX 5.1 for Windows NT、2000、XP、OSE(瑞典Enea公司)、……。对于较大的应用,也可以使用实时操作系统内核的Windows NT嵌入式(简称NTe)。另外,适合嵌入式系统的Linux操作系统有开源代码,也有一些实时的Linux操作系统,比如OSADL奥地利开源自动化开发实验室;例如,如果在Linux主内核中集成另一个专用的实时内核Cobalt,然后将PREEMPT_RT补丁与Cobalt内核结合,那么Cobalt调度的实时任务就可以由常规的Linux任务创建

根据2014年嵌入式OS市场调查,前八名的实时操作系统分别是GreenHills Software的INTEGRITY、WindRiver的VxWorks、QNXNeutrino、FreeRTOS和Micrium的C/OS-II。三。WindowsCE,TI-RTOSKernel(原名DSP/BIOS),RTOSdesigned for embedded systems,RTOS开源嵌入式系统,主要用于导弹和空探测器。

基于的国产实时操作系统介绍

中国的实时操作系统包括华东计算技术研究所,引进并消化了美国丰和公司的VxWorks实时操作系统,开发了具有自主知识产权的ReWorks,目的是在开发嵌入式系统时替代VxWorks。同时,在VxWorks基础上形成的原创工作成果全部移植到ReWorks上。兼容VxWorks的嵌入式实时操作系统适用于多种目标硬件环境:x86、xScale、PPC、ARM9等。适应不同的系统规模:更低配置小于100K。ReWorks/ReDe实时系统开发运行平台,包括:集设计/开发/调试/仿真于一体的开发环境,实时中间件。图3显示了ReWorks的技术架构。

图3 Fireworks技术架构

SylixOS是易慧公司开发的原创大型硬实时操作系统,最近在国内迅速崛起,为摆脱国内一些关键设备对国外嵌入式操作系统的依赖做出了贡献。也为我国嵌入式设备的发展提供了一个全新的选择。SylixOS支持对称多处理器平台的 *** P调度。根据工信部的评测报告,其内核自主化率达到100%,具备完全自主可控的技术能力。

SylixOS具有实时进程和动态加载机制,可以满足多个开发者的分布式软件开发需求,支持这些应用软件在操作系统上的集成。支持ARM、MIPS、PowerPC、x86、SPARC、DSP、RISC-V、C-SKY等架构处理器。,并支持主流国产通用处理器(如Fit系列、龙芯系列、中天微CK810、Megacore系列等。),方便用户在升级硬件平台时移植应用,减少移植的工作量;SylixOS可以配合专用集成开发环境RealEvo-IDE和硬件模拟器RealEvo-Simulator,方便系统开发和调试,加快软件开发速度,缩短产品开发周期。为不同的处理器提供优化的驱动程序,提高系统的整体性能。SylixOS符合IEEE、ISO和IEC相关的操作系统编程接口规范,用户现有的应用可以方便地迁移到SylixOS。

SylixOS是一个开源操作系统。为了保证SylixOS的持续开发,吸引大量开发者参与测试,目前作为开源项目存在。

工业互联网-使用

实时多任务操作系统

嵌入式系统、实时操作系统和物联网之间有很强的相关性,因为实时操作系统解决方案是消费产品和工业物联网(IIoT)构建嵌入式系统的资产、设备、系统和流程的基本组成部分。因此,嵌入式实时操作系统是部署跨各行业(包括工业设备、汽车、医疗、电信、 *** 解决方案等)的任务关键和超可靠工业物联网应用的核心因素。).在工业自动化过程和智能机器和机器人等制造装置和设备中尤其如此。全球市场洞察(Global Market Insights)在2019年9月发布的一份报告指出,实时操作系统(RTOS)在物联网应用中的日益普及是这一行业预期增长的驱动因素之一。更具体地说,2019年市值已经超过120亿美元。研究公司预计2019年至2025年的年增长率将超过6%。Global Market Insights的分析师也证实,高级实时操作系统选项允许开发人员在不影响性能或安全性的情况下构建更小的物联网设备。

早在物联网设备出现之前,实时操作系统就已经存在了。因此,早在2016年启动物联网应用实时操作系统可行性研究时,就出现了一些常见的假设,比如物联网电子产品不需要实时操作框架,或者轮询周期架构也能满足要求。但它很快从这些陷阱中脱颖而出。许多公司已经为物联网设备提供了实时操作系统,一些团队通过协作改进了现有的实时操作系统。

比如Linux基金会正在主持的泽法项目,就是打造物联网工具实时操作系统;这是一项开源、社区驱动的创新工作。另外,丰和公司还有一个产品叫VxWorks,是另一个物联网实时操作系统。IntervalZero是另一家为物联网设计提供实时运营框架的提供商。亚马逊拥有一个实时操作系统品牌Amazon FreeRTOS。微软也在2019年收购了Express Logic,他们开发了工业级的ThreadX实时操作系统。然后开发成Azure RTOS嵌入式开发包,包括Azure RTOS ThreadX,FileX,GUIX Studio和GUIX,TraceX,NetX,NetX Duo和USBX。这是一个小而强大的操作系统,为资源有限的设备提供可靠的超快的性能。它易于使用且经过市场验证,已在全球超过100亿台设备上部署。Azure RTOS支持更流行的32位微控制器和嵌入式开发工具。Azure RTOS获得了IEC61508 SIL4的功能安全认证,已应用于航空空电子、医疗设备、交通运输和工业控制设备中的安全关键产品。华为的LightOS也是非常好的物联网实时操作系统(见图4)。LightOS也可以用于5G *** 。这张图没有出现5G是因为图更早。

图4华为物联网实时操作系统LightOS

随着人们开始对实时操作系统如何使物联网更加强大感兴趣,以新的方式收集或使用数据的机会出现了。这一结果有利于整个物联网行业,而不仅仅是使用实时操作系统的机器。在选择为物联网设备提供实时操作系统的公司时,可能更希望了解哪些实时操作系统可以提高其在开发物联网设计中的性能,因为物联网实时操作系统在联网设备和系统的功能中起着重要作用。其中,信息安全和功能安全必须优先考虑。

比如2019年7月,风和公布了11个与VxWorks实时操作系统相关的漏洞。虽然他们发布了一个补丁来修复它,但令人不安的事实是,当漏洞被发现时,大约有2亿台设备已经在运行这个有缺陷的操作系统版本。此外,在几乎所有垂直行业的各种嵌入式设备、系统、解决方案和应用中,MEMS都是关键组件。它是一种集机械和电气元件于一体的微型集成设备或系统。它由一个用于处理数据的中央单元(微处理器)和几个与周围环境交互的组件(如微传感器)组成。MEMS通过其在微观层面上的感知、控制和驱动能力,以及在宏观层面上施加影响的能力,为使用物联网的企业带来好处。适合MEMS的实时操作系统也应该是一个考虑因素。

随着人们开始对实时操作系统如何使物联网更加强大感兴趣,以新方式收集或使用数据的机会应该会出现。这一结果有利于整个物联网行业,而不仅仅是使用实时操作系统的机器。在选择为物联网设备提供实时操作系统的公司时,可能更希望了解哪些实时操作系统可以提高其在开发物联网设计中的性能,因为物联网实时操作系统在联网设备和系统的功能中起着重要作用。其中,信息安全和功能安全必须优先考虑。比如2019年7月,风和公布了11个与VxWorks实时操作系统相关的漏洞。虽然他们发布了一个补丁来修复它,但令人不安的事实是,当漏洞被发现时,大约有2亿台设备已经在运行这个有缺陷的操作系统版本。此外,在几乎所有垂直行业的各种嵌入式设备、系统、解决方案和应用中,MEMS都是关键组件。

实时操作系统的安全问题

实时操作系统作为一种基础软件,也应该满足一定的软件安全保障。软件安全认证有很多标准。信息安全标准:信息技术安全评估的公共标准是安全性能、安全保证和安全评估的国际标准ISO/IEC15408。这是一个被美国 *** 、加拿大和其他23个国家认可的国际标准。它将评估保证水平(EAL)分为七个等级。目前评级更高的操作系统是EAL6+(美国绿山公司的Integrity-178B实时操作系统)。功能标准:工业软件的功能安全标准IEC61508-3将安全完整性等级SIL分为四级(见表1)。据笔者了解,评级更高的操作系统是SIL3(美国Integrity,VxWorks,加拿大QNX等).因为SIL3被认为是单个可编程系统中风险降低程度更高的。微软声称其Azure RTOS获得了IEC61508 SIL 4功能安全认证,但没有说明是哪个机构认证的。

目前很多实时操作系统都采用分区技术,将不同的软件部分放在受保护的地址空中,因此如果程序的某一部分出错或被侵权,整个系统都不会受到影响。绿山软件的INTEGRITY实时操作系统10年来一直采用分裂内核的概念。图5显示了INTEGRITY实时操作系统的分区概念。集成开发环境如图6所示,包括Green Hills的优化编译器、高级分析工具和目标连接。

图5完整性实时操作系统的分区概念

图6绿山软件公司集成开发环境

分区内核架构是目前人们公认的唯一正确的软件设计 *** 。可用于:①许多需要保证CPU时间和内存的应用;②以简单的方式安全连接任何设备。具有相同分区技术的操作系统可以分为单片内核分区技术和多核分区技术。

开源操作系统的安全性。由于μCOSⅱ是一个开源的实时操作系统,所以在国内被广泛使用。我找不到任何关于μCOSⅱ的安全认证的资料,所以无法整体评论。唯一可行的 *** 就是谁在嵌入式系统中根据自己的需求使用量身定制的μCOSⅱ。当需要SIL级别认证时,他们可以先按照IEC61508-3的V&V *** 进行自我评估,然后再找有资质的第三方进行V&V认证。


有肥胖困扰?专业瘦身老师教你1天瘦1斤

添加微信咨询:A-noweixin (手机长按可复制,加好友)

在线操作系统(漫谈实时操作系统)
已帮助30000+人成功瘦身
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址