首页 > 其他分享 >市面上主流嵌入式操作系统(RTOS)有哪些?看这11种操作系统

市面上主流嵌入式操作系统(RTOS)有哪些?看这11种操作系统

时间:2023-11-09 16:04:22浏览次数:48  
标签:11 RT 操作系统 Thread RTOS 嵌入式操作系统 任务 内核

市面上主流嵌入式操作系统(RTOS)有哪些?看这11种操作系统 嵌入式操作系统RTOS2023-03-13 16:26广东

满足实时控制要求的嵌入式操作系统(RTOS)操作系统,以下介绍11种主流的RTOS,分别为RTX、Vxworks、QNX、NuttX、μClinux、FreeRTOS,而国产的嵌入式操作系统包括都江堰操作系统(djyos)、IntewellOS、Alios Things、Huawei LiteOS、SylixOS。

1、RTX

RTX是ARM公司的一款嵌入式实时操作系统,使用标准的C结构编写,运用RealView编译器进行编译。不仅仅是一个实时内核,还具备丰富的中间层组件,不但免费,而且代码也是开放的。

主要功能:开始和停止任务(进程),除此之外还支持进程通信,例如任务的同步、共享资源(外设或内存)的管理、任务之间消息的传递。开发者可以使用基本函数去开启实时运行器,去开始和终结任务,以及去传递任务间的控制(轮转调度)。开发者可以赋予任务优先级。

主要特点:支持时间片,抢占式和合作式调度。不限制数量的任务,每个任务都具有254的优先级。不限制数量的信号量,互斥信号量,消息邮箱和软定时器。支持多线程和线程安全操作。使用MDK基于对话框的配置向导,可以很方便的完成MDK的配置。

2、Vxworks

美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系(RTOS),具有硬实时、确定性与稳定性,也具备航空与国防、工业、医疗、汽车、消费电子产品、网络及其他行业要求的可伸缩性与安全性。

主要功能:

支持可预测的任务同步机制、支持多任务间的通信、存储器优化管理、操作系统的(中断延迟、任务切换、驱动程序延迟等)行为是可知的和可预测的。实时时钟服务+中断管理服务。

主要特点:

具有一个高性能的操作系统内核Wind(实时性好、可裁减)友好的开发调试环境、较好的兼容性、支持多种开发和运行环境。

3、QNX

QNX诞生于1980年,是一种商用的遵从POSIX规范的类Unix嵌入式实时操作系统。

主要功能:支持在同一台计算机上同时调度执行多个任务;也可以让多个用户共享一台计算机,这些用户可以通过多个终端向系统提交任务,与QNX进行交互操作。

主要特点:核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

4、NuttX

NuttX是一个实时嵌入式操作系统(Embedded RTOS),第一个版本由 Gregory Nutt 于 2007 年在宽松的 BSD 许可证下发布。

主要功能:可以构建为开放的、平面的嵌入式 RTOS,或单独构建为具有系统调用接口的微内核。容易扩展到新的处理器架构、 SoC 架构或板级架构。实时的、确定性的、支持优先级继承。BSD 套接字接口。优先级管理的扩展。可选的具有地址环境的任务(进程)。

主要特点:配置灵活,采用模块化设计,核心部分由小同的组件构成,包括内核、C语言库和底层运行包等。每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用eCos提供的配置工具可以很方便地配置,并通过不同的配置使得eCos能够满足不同的嵌入式应用要求。

5、μClinux

μClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。

μClinux在结构上继承了标准Linux的多任务实现方式,分为实时进程和普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式CPU特点进行改良,且不支持内核抢占,实时性一般。

综上可知,μClinux最大特点在于针对无MMU处理器设计,这对于没有MMU功能的stm32f103来说是合适的,但移植此系统需要至少512KB的RAM空间,1MB的ROM/FLASH空间,而stmf103拥有256K的FLASH,需要外接存储器,这就增加了硬件设计的成本。

μClinux结构复杂,移植相对困难,内核也较大,其实时性也差一些,若开发的嵌入式产品注重文件系统和与网络应用则μClinux是一个不错的选择。

6、FreeRTOS

由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。

相对于C/OS-II、 embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为6.0版。

作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。

FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。

FreeRT0S内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。

7、都江堰操作系统(djyos)

都江堰操作系统,简称djyos,得名于一个伟大的水利工程:都江堰。

与传统操作系统不同,djyos不是以线程而是以事件为调度核心,这种调度算法使程序员摆脱模拟计算机执行过程编写程序的思维方式,而是按人类认知世界的方式编写应用程序,就如同在嵌入式编程中引入了VC似的。

djyos的调度算法使程序员可以摆脱线程和进程的束缚,djyos没有有关线程的api,一个完全不懂线程知识的程序员也可以顺利地在djyos下编写应用程序。

djyos 操作系统是以事件为核心进行调度的,这种调度策略使程序员可以按人类认知事物的习惯而不是计算机的习惯来编程。

8、IntewellOS

Intewell操作系统是科东软件基于“道”系统研发出来的一款微内核实时操作系统(RTOS),具备软件定义控制、高实时、微内核、微秒级响应、高可靠、全国产自主可控、多业务承载、软硬件解耦等一系列的特性。

主要功能:

具有良好的可扩展性、友好的用户开发环境和丰富的开发调试工具,提供POSIX接口,支持目前市面上的主流芯片。Intewell还可以提供Windows和Linux的实时扩展解决方案,可以为用户更好地进行业务部署。

主要特点:

可以单个RTOS在多核上运行,高实时、高可靠;驱动、组件等运行在核心态外的非特权级空间中,系统隔离性和可靠性高;采用用户级线程,线程切换性能以及线程间的同步、通信性能更高;支持X86、ARM、RISC-V等各种架构的硬件平台。

9、Alios Things

据著名媒体嵌入式操作系统RTOS介绍,AliOS Things 是 AliOS 家族旗下、面向 IoT 领域的、高可伸缩的物联网操作系统。AliOS Things将致力于搭建云端一体化IoT基础设施,具备极致性能、极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云Link,可广泛应用在智能家居、智慧城市、新出行等领域。

10、Huawei LiteOS

嵌入式操作系统RTOS介绍,Huawei LiteOS 是华为面向IoT领域,构建的轻量级物联网操作系统,以轻量级低功耗、快速启动、互联互通、安全等关键能力,为开发者提供 “一站式” 完整软件平台,有效降低开发门槛、缩短开发周期。

11、SylixOS

嵌入式操作系统RTOS介绍,SylixOS 是一个开源的跨平台的大型实时操作系统(RTOS),SylixOS诞生于2006年,经过十多年的持续开发,SylixOS 已成为功能最为全面的国产操作系统之一。目前已有众多产品和项目应用案例,行业涉及航空航天、军事防务、轨道交通、智能电网、工业自动化等诸多领域。SylixOS 完全符合 POSIX 规范,开源社区丰富的自由软件移植非常方便。

12. RT-Thread 概述

RT-Thread,全称是 Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,允许多个任务同时运行并不意味着处理器在同一时刻真地执行了多个任务。事实上,一个处理器核心在某一时刻只能运行一个任务,由于每次对一个任务的执行时间很短、任务与任务之间通过任务调度器进行非常快速地切换(调度器根据优先级决定此刻该执行的任务),给人造成多个任务在一个时刻同时运行的错觉。在 RT-Thread 系统中,任务通过线程实现的,RT-Thread 中的线程调度器也就是以上提到的任务调度器。

RT-Thread 主要采用 C 语言编写,浅显易懂,方便移植。它把面向对象的设计方法应用到实时系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非常好。针对资源受限的微控制器(MCU)系统,可通过方便易用的工具,裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 版本(NANO 是 RT-Thread 官方于 2017 年 7 月份发布的一个极简版内核);而对于资源丰富的物联网设备,RT-Thread 又能使用在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪,无缝地导入丰富的软件功能包,实现类似 Android 的图形界面及触摸滑动效果、智能语音交互效果等复杂功能。

相较于 Linux 操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此以外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限(如成本、功耗限制等)的场合。虽然 32 位 MCU 是它的主要运行平台,实际上很多带有 MMU、基于 ARM9、ARM11 甚至 Cortex-A 系列级别 CPU 的应用处理器在特定应用场合也适合使用 RT-Thread。

 

许可协议

RT-Thread 系统完全开源,遵循 Apache License 2.0 开源许可协议,可以免费在商业产品中使用,并且不需要公开私有代码,没有潜在商业风险。

 

构架

近年来,物联网(Internet Of Things,IoT)概念广为普及,物联网市场发展迅猛,嵌入式设备的联网已是大势所趋。终端联网使得软件复杂性大幅增加,传统的 RTOS 内核已经越来越难满足市场的需求,在这种情况下,物联网操作系统(IoT OS)的概念应运而生。物联网操作系统是指以操作系统内核(可以是 RTOS、Linux 等)为基础,包括如文件系统、图形库等较为完整的中间件组件,具备低功耗、安全、通信协议支持和云端连接能力的软件平台,RT-Thread 就是一个 IoT OS。

RT-Thread 与其他很多 RTOS 如 FreeRTOS、uC/OS 的主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件,如下图所示。

RT-Thread 软件框架图

标签:11,RT,操作系统,Thread,RTOS,嵌入式操作系统,任务,内核
From: https://www.cnblogs.com/zxdplay/p/17821862.html

相关文章

  • 11.9打卡
    1. 不同路径(61)一个机器人位于一个 mxn 网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。classSolution{publicintuniquePaths(intm,intn){int[][]d......
  • LeetCode #1131 Maximum of Absolute Value Expression 绝对值表达式的最大值
    安装Flutter环境首先配置flutter3开发环境,照着官方教程傻瓜式安装即可。>>安装和环境配置|Flutter中文文档|Flutter中文开发者网站注意在国内网络环境下需要进行一些额外的环境配置:>>在中国网络环境下使用Flutter|Flutter中文文档|Flutter中文开发者网站Description......
  • 2023119
    2023/11/9CodeforcesRound908(Div.2)补题A.SecretSport简单签到,一个思路就是比赛结束总是在刚刚得出胜者的时候,所以最后一个人总是获胜的B.TwoOutofThree签到C.AnonymousInformant(补)思路:逆推,因为每次左移的时候,选择的数总是会到最后一位,那么我们就可以看当前......
  • 每日总结20231109
    代码时间(包括上课)6h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周四,上午上的是软件设计和软件需求分析,软件设计写的是组合模式和装饰模式的实验报告,软件需求分析讲的是如何做需求调研分析。2、今天下午上的是人机交互技术,写的是人机交互技术的两个实验报告。3、今天晚上打......
  • 每日总结1109
    今天对于企业ERP有了新的了解,其中最重要的部分莫过于支出收入,考核三个部分,因为每一个企业都是与利益挂钩了。ERP的核心价值:提高工作效率:简化和自动化核心业务流程,帮助企业所有人员用更少的资源完成更多任务。深化洞察力:消除信息孤岛,建立统一的真实数据源,快速解决任务关键......
  • Win10/11设置开机自动进入桌面
    按下「Win+R」,输入 netplwiz,打开用户账户面板;点击当前使用的用户名,去掉“要使用本计算机,用户必须输入用户名和密码”复选框;如果这一步没有复选框,需要进入到注册表修改:按下「Win+R」,输入 rgedit,打开注册表管理器;在注册表里找到这个路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsof......
  • 2023/11/9 训练
    CodeforcesRound908(Div.2)补题:A. SecretSport签到:思路:结束总是赢得人最后一位就是最后得获胜者B.TwoOutofThree签到:简单C.AnonymousInformant(补)思路:因为移动一次之后,ax=x的那一位会跑到最后一位,所以我们有最后的数组那么其实操作是固定的. ......
  • 1. 手动移植FreeRTOS V9.00到 Stm32F103C8T6
    记录移植过程,以便以后查看:1.使用cubeMAX配置一个工程a.选择单片机型号: b。设置SWD调试,选TIM4作为系统时钟,systick要用来跑freeRTOS c.NVIC默认使用Group4 配置GPIO,我这里配置了两个引脚,作为LED输出 d,RCC都选外部晶振 e。配置时钟树,HCLK72Mhz  f。project......
  • 外汇110网:怎样的交易商模式更赚钱?MM还是ECN/STP
    每天都会有一些新的交易商出现,许多企业家也受到吸引开设交易公司。运营交易经纪公司真的如此赚钱吗?交易经纪可以赚多少钱?对这个问题的简短回答是,交易商可以赚很多钱,但并不像大多数人想象的那么容易。这是一项具有挑战性的业务,涉及正确管理和推广等许多事项。不仅仅是一个网站、一......
  • 11-9
    用透明组合模式实现教材中的“文件夹浏览”这个例子 #include<iostream>#include<string>#include<vector>usingnamespacestd;classAbstractFile{ public:virtualvoidadd(AbstractFile*ele)=0;        virtualvoidremove(AbstractFile*ele)=0;  ......