鸿蒙OS
HarmonyOS是一款面向全场景的开源分布式操作系统,是华为自主研发的操作系统。
鸿蒙OS实现模块化耦合,可应用在不同的设备上。
鸿蒙OS架构分为三层:
- 第一层是内核
- 第二层是基础服务
- 第三层是程序框架 。
鸿蒙OS底层三部分组成:
- 鸿蒙微内核
- Linux内核
- Lite OS组成
鸿蒙OS针对所有的用户,都提供了便利性:
消费者:鸿蒙OS能够将生活场景中的各类终端进行能力整合,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。
应用开发者:鸿蒙OS采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。
设备开发者:鸿蒙OS采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求源码地址
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 语言编写。
高效的软件定时器。
强大的跟踪执行功能。
堆栈溢出检测功能。
任务数量不限。
任务优先级不限
µC/OS
µC/OS是由Micrium公司研发的实时操作系统,以µC/OS-II或µC/OS-III为内核,附带有多种插件以实现不同的功能。这款操作系统主要面向于微处理器,如单片机、DSP等。它具有优秀的可移植性、功能可伸展性等特点,是抢占式的硬实时多任务操作
mbed-os
mbed os是一个ARM自己打造的开源嵌入式操作系统,专为物联网(iot)中的"物物"而设计。它包括开发基于 arm cortex-m 微控制器的连接产品所需的所有功能。
架构图
BabyOS
BabyOS适用于MCU项目,它是一套管理功能模块和外设驱动的框架。
对项目而言,缩短开发周期。项目开发时选择适用的功能模块及驱动。直接进入功能代码编写的阶段。
对工程师而言,减少重复工作。调试过的功能模块和驱动代码放入BabyOS中管理,以后项目可以直接使用,去掉重复调试的工作。
架构图
LuatOS
LuatOS-SoC是一款实时操作系统,用户编写Lua代码就可完成各种功能, 仅需极少的内存和Flash空间。
架构图
源码地址klite
它是一款入门级的小型抢占式操作系统内核,以简洁易用为设计目标,旨在降低学习嵌入式操作系统编程和入门的难度
简洁的API风格,简洁的调用方式,简单的移植方法,可能是目前最简单易用的嵌入式操作系统内核.
lmosem
lmosem是一个完全从第一行引导代码开始编写,基于ARM平台,支持多进程、多CPU、内存管理、文件与设备管理的全32位操作系统内核。
LMOSEM总体上分为三大层:HAL层、内核功能层、接口层
源码地址FreeNOS
FreeNOS微内核操作系统