嵌入式RTOS是什么

小嘿QA2020-04-21 10:33:27阅读(...)

在嵌入式应用领域,很多场合对系统的实时性要求严格,因此操作系统的选择要基于实时系统。实时多任务操作系统(Real Time Operating System,简称RTOS)是根据操作系统的工作特性而言的,实时是指物理进程的真实时间。

嵌入式应用领域,很多场合对系统的实时性要求严格,因此操作系统的选择要基于实时系统。实时多任务操作系统(Real Time Operating System,简称 RTOS)是根据操作系统的工作特性而言的,实时是指物理进程的真实时间。

嵌入式RTOS是什么

基本信息

在嵌入式应用领域,很多场合对系统的实时性要求严格,因此操作系统的选择要基于实时系统。实时多任务操作系统(Real Time Operating System,简称 RTOS)是根据操作系统的工作特性而言的,实时是指物理进程的真实时间。实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。其首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。

通常对于分时操作系统,软件的执行在时间上的要求并不严格,时间上的错误一般不会造成灾难性的后果。但对于实时操作系统,主要任务是要求对事件进行实时的处理,虽然事件可能在无法预知的时刻到达.但是软件上必须在事件发生时能够在严格的时限内做出响应(系统响应时间),即使能够响应,但是如果超出了时限,系统时间响应的超时就意味着致命的失败。实时操作系统的重要特点是具有系统的可确定性,即系统能对运行情况的最好和最坏等情况能做出精确的估计。

实时多任务操作系统(RTOS)是嵌入式应用软件的基础和开发平台。大多数嵌入式开发还是在单片机上直接进行,没有 RTOS,但仍要有一个主程序负责调度各个任务。RTOS 是一段嵌入在目标代码中的程序,系统复位后首先执行,相当于用户的主程序,用户的其他应用程序都建立在 RTOS 之上。不仅如此,RTOS 还是一个标准的内核,将 CPU 时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的 API(系统调用),并根据各个任务的优先级,合理地在不同任务之间分配 CPU 时间。

RTOS 是针对不同处理器优化设计的高效率实时多任务内核,RTOS 可以面对几十个系列的嵌入式处理器 MPU、MCU、DSP、SOC 等提供类同的 API 接口,这是 RTOS 基于设备独立的应用程序开发基础。因此,基于 RTOS 的 C 语言程序具有极大的可移植性。据专家测算,优秀 RTOS 上跨处理器平台的程序移植只需要修改 1%~4%的内容。在 RTOS 基础上可以编写出各种硬件驱动程序、专家库函数、行业库函数、产品库函数,和通用性的应用程序一起,可以作为产品销售,促进行业的知识产权交流。因此,RTOS 又是一个软件开发平台。

发展过程

实时操作系统(RTOS)的研究是从 20 世纪 60 年代开始的。从系统结构上看,RTOS 到现在已经历了如下三个阶段:

早期的实时操作系统

早期的实时操作系统,还不能称为真正的 RTOS,它只是小而简单的、带有一定专用性的软件,功能较弱,可以认为是一种实时监控程序。它一般为用户提供对系统的初始化管理以及简单的实时时钟管理,有的实时监控程序也引入了任务调度及简单的任务间协调等功能,属于这类实时监控程序的有 RTMX 等。这个时期,实时应用较简单,实时性要求也不高。应用程序、实时监控程序和硬件运行平台往往是紧密联系在一起的。

专用实时操作系统

专用实时操作系统,随着应用的发展,早期的 RTOS 已越来越显示出明显的不足了。有些实时系统的开发者为了满足实时应用的需要,自己研制与特定硬件相匹配的实时操作系统。这类专用实时操作系统在国外称为 Real—Time Operating System Developed in House。它是在早期用户为满足自身开发需要而研制的。一般只能适用于特定的硬件环境,且缺乏严格的评测,移植性也不太好。属于这类实时操作系统的有 Intel 公司的 iMAX86 等。

通用实时操作系统

在各种专用 RTOS 中,一些多任务的机制如基于优先级的调度、实时时钟管理、任务间的通信、同步互斥机构等基本上是相同的,不同的只是面向各自的硬件环境与应用目标。实际上,相同的多任务机制是能够共享的,因而可以把这部分很好地组织起来,形成一个通用的实时操作相同内核。这类实时操作系统大多采用软组件结构,以一个个软件“标准组件”构成通用的实时操作系统,一方面,在 RTOS 内核的最底层将不同的硬件特性屏蔽掉;另一方面.对不同的应用环境提供了标准的、可剪裁的系统服务软组件。这使得用户可根据不同的实时应用要求及硬件环境选择不同的软组件,也使得实时操作系统开发商在开发过程中减少了重复性工作。这类通用实时操作系统,有 Integrated System 公司的 psosystem,Intel 公司的 iRMX386,Ready System 公司(后与 MicrotecResearch 合并)的 VRTX32,WindRiver SystomS 公司(位于美国加州 Almeda 市)的 VxworkS,Accelerated Technology Inc 公司的 NuclouS PLUS 等。它们一般都提供了实时性较好的内核、多种任务通信机制、基于 TCP/IP 的网络组件、文件管理及 I/O 服务,提供了集编辑、编译、调试、仿真为一体的集成开发环境,支持用户使用 C、C++进行应用程序的开发。

收藏0个人收藏
走进科技生活方式

评论交流

泪雪默认头像请「登录」后参与评论
  1. 加载中..