一:什么是RTOS

RTOS( Real-Time Operating System ),实时操作系统。实时性是其最大特征,实时操作系统中都要包含一个 实时任务调度器 ,这个任务调度器与其它操作系统的最大不同是强调:严格按照优先级来分配CPU时间,并且时间片轮转 不是 实时调度器的一个必选项。

也可以这样理解:

实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。

实时系统的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间

换句话说,系统设计时所有的事件都可以在指定的时间内得到响应(时间确定性)。

如果系统关键任务响应时间都满足这条标准,则这样的实时系统可称为硬实时系统。

提供 及时响应和高可靠性 是RTOS的主要特点

二:RTOS与普通操作系统的区别

与通用的分时操作系统不同(Linux、Windows、Unix等),实时操作系统在航空航天、军事与工业自动化领域更具优势,首先 实时操作系统 有着 分时操作系统 无法比拟的 响应时间确定性 ,实时操作系统从 调度器算法 ,到 中断响应系统 ,到 消息传递机制 等所有的核心算法时间复杂度都是O(1),它表示系统的响应速度不依赖于系统任务的多少,负载的轻重,而只依赖于优先级的设计,就算当前系统满负荷运行,优先级高的事件发生后,系统还将会在指定的时间内立即响应事件。由于这种设计理念和算法上的优势,根据相关数学理论, 分时系统在负载严重的情况下是不能通过提升处理器性能来获得确定的响应时间。

这种算法上的优势是通用分时系统所难以比拟的,而通用分时系统则更多考虑的是系统易用性、平衡性和数据吞吐率。

实时系统与分时系统设计思想和应用领域完全不同,不存在替代关系,而是一种互补关系。

我们常用的Windows XP windows 7/8/10,等都是分时系统,它打开文件,程序,不存在时间的确定性,而且快2秒,慢5秒不会对我们的生活和工作造成影响;

实时操作系统大部分是运行在芯片的底层,比如美国的Vx Works,RT-linux,我们国产的SylixOS,这些大型的实时操作系统实时的控制着最底层的应用,时间确定的执行着设定任务,例如火箭发射中定是分离,调整轨道等;

三:什么是硬实时?什么是软实时?

硬实时与软实时之间最关键的差别在于, 软实时只能提供统计意义上的实时 。例如,有的应用要求系统在95%的情况下都会确保在规定的时间内完成某个动作,而不一定要求100%。

在许多情况下,这样的“软性”正确率已经可以达到用户期望的水平。比如,用户在操作DVD播放机时,只要98%的情况都能正常播放,用户可能就满意了;

而发射卫星、控制核反应堆的应用系统,这些系统的实时性必须达到100%,是绝对不允许出现意外。

硬实时系统 有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。

软实时系统 的时限是一个柔性灵活的,它可以容忍偶然的超时错误。

实时操作系统 就是在规定的时间内必须正确地完成操作,完成操作的时间有操作系统的因素,也有用户软件的因素。
非实时操作系统 指操作系统无法保证哪怕是最高优先级任务开始执行的最后时限。

只有“非屏蔽中断+执行时间确定的ISR”才可以称为硬实时系统,因为这个系统明确告诉我什么时候完成操作。

著名的硬实时系统包括:

VxWorks,SylixOS,RTlinux, ThreadX, QNX,Nucleus等.

嵌入式Linux系统 VS RTOS 一提到嵌入式的 操作系统 ,自然绕不开嵌入式Linux 操作系统 。嵌入式linux 是将日益流行的Linux 操作系统 进行裁剪修改,使之能在嵌入式计算机系统上运行。它性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,所以在不同行业,尤其是消费类电子产品中广泛使用。   然而即便如此,嵌入式Linux 操作系统 也有其难以弥补的缺... 市面上有许多传统 RTOS (现在普遍称为“嵌入式实时 操作系统 ”)通过组件技术支持物联网应用,比如QNX和RT-Thread。新型的物联网 操作系统 ,在实时内核基础上发展成为“端-边-云”一站式解决方案,大大提高了物联网应用开发效率,比如Intewell OS、RT-thread等。 下面展示一些内联代码片。定义一个栈, 目前我们使用的是静态内存,所以任务栈是一个独立的全局变量。任务的栈占用的是MCU内部的RAM,当任务越多的时候, 需要使用的栈空间就越大,即需要使用的RAM空间就越多。任务实际上就是一个无限循环且不带返回值的C函数。这里,我们创建一个这样的任务作为例子, 让开发板上面的LED灯以500ms的频率闪烁,LED1_ON;/* 延时500个tick */ LED1_OFF;/* 延时500个tick */ } } 它有一个栈底的地址, 是一开始就确定的,当有数据进栈或者出栈时,地址就会连续变动,不然就放到同一个存储地址中了,CPU需要有个地方保存这个不断变化的地址,这就是栈指针(SP)寄存器。 RTOS 的意思是:Real Time Operating System,即实时 操作系统 ,但使用Windows,我们经常碰到程序卡死、停顿的现象,日常生活中,这是可以忍受的,但是在电梯系统中,你按住开门键时如果没有即刻反应,即使知识慢个一秒钟,也会夹住人,在专用的电子设备中,实时性很重要。回答这个问题之前,先想想怎么切换线程? 文章目录1. 什么是 RTOS ?2. 软实时 和 硬实时1. 软实时2. 硬实时3. RTOS 的特征 1. 什么是 RTOS RTOS ,英文全称是 Real-time Operation System,中文就是 实时 操作系统 ,又称及时 操作系统 。 实时 操作系统 ,是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的 操作系统 。 简单来说,就是能在规定时间内完成任. 例子:打游戏和回复信息,不需要等某一件事做完,可每间隔1ms(一个时间片时钟节拍),然后交替做这两件事,因为速度很快,从宏观的意义上来看,类似同步执行! RTOS 特点: RTOS 全称:Real Time OS,就是实时 操作系统 ,强调的是:实时性。裸机:裸机又称前后台系统,前台系统是指中断服务函数,后台系统是指大循环,即应用程序。例子:打游戏和回复信息,需要打完游戏才可回复信息,或者回复完信息才可打游戏。优先级不限:任务优先级分配没有限制,多任务可同一优先级。3、抢占式:高优先级任务抢占低优先级的任务。 满足实时控制要求的嵌入式 操作系统 RTOS 操作系统 ,以下介绍14种主流的 RTOS ,分别为μClinux、μC/OS-II、eCos、Free RTOS 、mbed OS、RTX、Vxworks、QNX、NuttX,而国产的嵌入式 操作系统 包括都江堰 操作系统 (djyos)、Alios Things、Huawei LiteOS、RT-Thread、SylixOS。 下面分别介绍这十四种种嵌入式 操作系统 的特点。 1、μClinux μClinux是一种优秀的嵌入式Linux版本,其全称为micro-contro