网络知识 娱乐 常用RTOS详细说明

常用RTOS详细说明

关注v-x-公-众-号:【嵌入式基地
后-台-回-复:【电赛】 即可获资料
回复【编程】即可获取
包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料

在这里插入图片描述

鸿蒙OS

HarmonyOS是一款面向全场景的开源分布式操作系统,是华为自主研发的操作系统。

鸿蒙OS实现模块化耦合,可应用在不同的设备上。

鸿蒙OS架构分为三层:

  • 第一层是内核
  • 第二层是基础服务
  • 第三层是程序框架 。

鸿蒙OS底层三部分组成:

  • 鸿蒙微内核
  • Linux内核
  • Lite OS组成

鸿蒙OS针对所有的用户,都提供了便利性:

  • 消费者:鸿蒙OS能够将生活场景中的各类终端进行能力整合,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。
  • 应用开发者:鸿蒙OS采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。
  • 设备开发者:鸿蒙OS采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。

源码地址

  • https://gitee.com/openharmony

RT-Thread

RT-Thread,不仅仅是一个单一的实时操作系统内核,同时也是一个完整的应用系统,包含了实时、嵌入式系统相关的各个组件:TCP/IP协议栈,libc接口,图形用户界面等。

RT-Thread提供了较多的软件包,能够方便的解决开发过程中的问题,减少开发周期。

RT-Thread架构

IO设备框架

RT-Thread的IO设备框架位于硬件和应用程序之间,共分成三层:

  • I/O设备管理层
  • 设备驱动框架层
  • 设备驱动层

该设备框架屏使设备驱动与应用层进行解耦,可以屏蔽掉不同芯片驱动对应用层所带来的干扰

源码地址

  • https://github.com/RT-Thread

TencentOS

TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOS tiny 提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU及模组芯片上。而且,基于RTOS内核提供了丰富的物联网组件,内部集成主流物联网协议栈,可助力物联网终端设备及业务快速接入腾讯云物联网平台。

TencentOS架构

源码地址

  • https://github.com/OpenAtomFoundation/TencentOS-tiny

FreeRTOS

一个FreeRTOS 系统主要由BSP驱动+内核+组件组成。内核包含多任务调度、内存管理、任务间通信的功能,组件包含网络协议、外设支持等。

FreeRTOS架构

FreeRTOS特点

  • FreeRTOS 的内核支持抢占式,合作式和时间片调度。
  • 提供了一个用于低功耗的 Tickless 模式。
  • 系统的组件在创建时可以选择动态或者静态的 RAM,比如任务、消息队列、信号量、软件定时器等等。
  • FreeRTOS-MPU 支持 Corex-M 系列中的 MPU 单元,如 STM32F429。
  • FreeRTOS 系统简单、小巧、易用,通常情况下内核占用 4k-9k 字节的空间。
  • 高可移植性,代码主要 C 语言编写。
  • 高效的软件定时器。
  • 强大的跟踪执行功能。
  • 堆栈溢出检测功能。
  • 任务数量不限。
  • 任务优先级不限

源码地址

  • https://www.freertos.org/

µC/OS

µC/OS是由Micrium公司研发的实时操作系统,以µC/OS-II或µC/OS-III为内核,附带有多种插件以实现不同的功能。这款操作系统主要面向于微处理器,如单片机、DSP等。它具有优秀的可移植性、功能可伸展性等特点,是抢占式的硬实时多任务操作系统

源码地址

  • https://www.silabs.com/developers/micrium

mbed-os

mbed os是一个ARM自己打造的开源嵌入式操作系统,专为物联网(iot)中的"物物"而设计。它包括开发基于 arm cortex-m 微控制器的连接产品所需的所有功能。

架构图

源码地址

  • https://github.com/ARMmbed/mbed-os

BabyOS

BabyOS适用于MCU项目,它是一套管理功能模块和外设驱动的框架。

对项目而言,缩短开发周期。项目开发时选择适用的功能模块及驱动。直接进入功能代码编写的阶段。

对工程师而言,减少重复工作。调试过的功能模块和驱动代码放入BabyOS中管理,以后项目可以直接使用,去掉重复调试的工作。

架构图

源码地址

  • https://gitee.com/notrynohigh/BabyOS

LuatOS

LuatOS-SoC是一款实时操作系统,用户编写Lua代码就可完成各种功能, 仅需极少的内存和Flash空间。

架构图

源码地址

  • https://gitee.com/openLuat/LuatOS

klite

它是一款入门级的小型抢占式操作系统内核,以简洁易用为设计目标,旨在降低学习嵌入式操作系统编程和入门的难度。

简洁的API风格,简洁的调用方式,简单的移植方法,可能是目前最简单易用的嵌入式操作系统内核.

源码地址

  • https://gitee.com/kerndev/klite

lmosem

lmosem是一个完全从第一行引导代码开始编写,基于ARM平台,支持多进程、多CPU、内存管理、文件与设备管理的全32位操作系统内核。

LMOSEM总体上分为三大层:HAL层、内核功能层、接口层

源码地址

  • https://gitee.com/lmnos/lmosem

FreeNOS

FreeNOS微内核操作系统

源码地址

  • http://www.freenos.org/

原文链接 点击查看