临时¶
路由操作系统:routeros
arch操作系统:
https://wiki.archlinux.org
Brillo¶
a solution from Google for building connected devices
2016年改名Android Things
2022 年 1 月 1 日起彻底关闭 Android Things 控制台,所有的项目数据将被永久删除
Brillo 基于 Android,只是它把 Android 上关于图形、JAVA 虚拟机及 Framework 统统裁减掉。只保留了 C/C++ 运行环境,Binder IPC,SSL 等网络安全必须组件。这也就意味着在 Brillo 上开发 APP 其实是 Native 的,而且驱动程序都由 Android 的那套 HAL 来做抽象,所以应用程序是直接和 HAL、Lib 来打交道。
Fuchsia¶
2016 年,谷歌被曝出正在基于微内核 Zircon 研发名为 “Fuchsia” 的物联网 OS,外界猜测 Fuchsia 是谷歌试图使用单一操作系统统一整个生态圈的尝试,即一个操作系统可以在智能手表、智能音箱、笔记本、智能手机等在内的设备上运行。
与基于 Linux 内核的 Chrome OS 和 Android 等不同,Fuchsia 基于新的名为 Zircon 的微内核,受 Little Kernel 启发,用于嵌入式系统,主要使用 C 语言和 C++ 编写。
Fuchsia 的用户界面与应用使用 “Flutter” 开发,得益于 Flutter 提供的跨平台能力,用户可以在 Android 设备上安装一部分 Fuchsia。
Fuchsia 的形象标识是个粉红色的无限符号。作为免费和开源软件分发,采用三句版 BSD,MIT 和 Apache 2.0 软件许可证。
Fuchsia,是由Google公司开发的继Android和Chrome OS之后的第三个系统,已在Github中公开的部分源码可以得知。Google对于Fuchsia的说明是“Pink(粉红)+Purple(紫色)=Fuchsia
RIOT¶
RIOT 最初是由柏林自由大学 (FU Berlin)、法国国家信息与自动化研究所 (INRIA) 和汉堡应用科技大学 (HAW Hamburg) 一同开发的。RIOT 基于微内核架构,其内核基本上是从 FireKernel 继承的;这个内核原本是为传感器网络开发的。
The friendly Operating System for the IoT
https://github.com/RIOT-OS/RIOT:
LGPL-2.1 License C语言
RIOT 是一个实时多线程操作系统,支持物联网 (IoT) 中常见的一系列设备:8 位、16 位和 32 位微控制器。RIOT 基于以下设计原则:能效、实时功能、小内存占用空间、模块化和统一的 API 访问,独立于底层硬件 (此 API 提供部分 POSIX 合规性)。RIOT 由独立于特定供应商 (例如类似于 Linux 社区) 的国际开源社区开发。RIOT 获得 LGPLv2.1 许可,这是一个复制式许可证,它围绕 RIOT 提供的免费开源软件平台培养间接业务模式,例如,可以将闭源源代码与 LGPL 代码链接。
特征:
RIOT 基于微内核架构,提供的功能包括但不限于:
1. 具有优先级的先发制人、无滴答作响的调度程序
2. 灵活的内存管理
3. 高分辨率,长期计时器
4. 支持基于 AVR、MSP430、ESP8266、ESP32、MIPS、RISC-V、ARM7 和 ARM Cortex-M 的 100 多个主板
5. 本机端口允许在 Linux、BSD 和 MacOS 上运行 RIOT
Contiki¶
Contiki 的名字来自于历史上最著名的探险家之一托尔・海尔达尔 (Thor Heyerdahl) 制作的一艘帆船 “康 - 提基号”(Kon-Tiki)。其基础的内核以及大部分的核心功能是由瑞典计算机科学研究所网络内嵌系统小组的 Adam Dunkels 开发的。
Contiki 是一个小型、开源、极易移植的多任务操作系统,尤其适用于内存受限的嵌入式系统。从 8 位电脑到微控制器,Contiki 只需几千字节的代码和几百字节的内存就能提供多任务环境和内建 TCP/IP 支持。在一个较为典型的配置中,Contiki 系统只需 2Kb 的 RAM 与 40Kb 的 ROM
an open source operating system for the IoT
https://github.com/contiki-os/contiki:
3-clause BSD license C语言 2.5k Fork 3.4 Star
Contiki 是一个适用于有内存的嵌入式系统的开源的、高可移植的、支持网络的多任务操作系统。包括一个多任务核心、TCP/IP 堆栈、程序集以及低能耗的无线通讯堆栈。Contiki 采用 C 语言开发的非常小型的嵌入式操作系统,运行只需要几 K 的内存。
Contiki 也是个微内核(microkernel),所有的系统服务都是通过启线程完成,Protothreads 线程整合了线程间事件通讯,使得编写系统服务非常容易。驱动程序方面,Contiki 没有统一的驱动程序框架,驱动都是各家 MCU 自带开发包提供,这样的好处是能够保证生成的二进制代码够小。 Contiki 有个很有特色的模拟器,Cooja Network Simulator,可以运行很多例子,并且可以监控整个网络的包及节点状态。这样可以让用户在没有充足硬件设备的条件下做开发。 Contiki 社区基本依靠 maillist 讨论问题,github 做 pull request。从 maillist archive 里看,社区活跃程度很一般。
Zephyr¶
a small, scalable real-time operating system for use on resource-constrained systems)
Zephyr 最初是风河系统公司在 2015 年 11 月推出的为物联网设备开发的 “Rocket 内核”,更早时称为 “Microkernel Profile for VxWorks”,代码移植于 2001 年并购 Eonic Systems 得来的 Virtuoso DSP RTOS。2016 年 2 月,它成为 Linux 基金会的项目而改称现名。
Zephyr 是支持多种架构的小型实时操作系统,并针对资源受限的环境进行了优化。适用于从简单的嵌入式环境传感器和 LED 可穿戴设备,到复杂的智能手表和 IoT 无线网关。下面列出了 Zephyr 的主要功能:
支持 150 多个板。 完全的灵活性和选择自由。 可以处理体积小的物联网设备。 可以开发具有内置安全功能的产品。 在 Zephyr 设计中,安全性也很重要,设立了专门机制来维护或改进安全性。
μC/OS¶
μC/OS 由 Micrium 公司提供,是一个可移植、可固化的、可裁剪的、占先式多任务的开源实时内核,专为嵌入式应用设计,可用于 8 位、16 位和 32 位单片机或数字信号处理器 (DSP)。μC/OS-Ⅱ 是在原版本 μC/OS 的基础上做了重大改进与升级,目前已经升级到了 μC/OS-III。源代码开放、整洁、一致,注释详尽,适合系统开发,已有近十年的使用实践,有许多成功应用该实时内核的实例。
严格地说,μC/OS 仅是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于 uC/OS 良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。
鸿蒙 HarmonyOS¶
华为 HarmonyOS 是一款面向全场景 (移动办公、运动健康、社交通信、媒体娱乐等) 的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS 提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。HarmonyOS 的主要特点是分布式,包括软总线、设备虚拟化、数据管理和任务调度方面。同时具备一次开发,多端部署;统一 OS,弹性部署的特点。
HarmonyOS 主要有 Linux、HarmonyOS 内核、Lite OS 三种内核,默认采用 LiteOS,而且 HarmonyOS 内核文件中可以看到 liteos-a 和 liteos-m 字样,推测出 HarmonyOS 内核对于 LiteOS 内核具有一定的继承性。多内核设计可以在支持针对不同资源受限设备时,选则适合的内核。从另一个角度讲,LiteOS 内核也不仅限于给 HarmonyOS 用,支持的硬件甚至比 HarmonyOS 还丰富一些,提供了更多内核案例和移植策略,从代码来看,它们都支持 Cortex-M 内核和 Cortex-A 内核。
AliOS Things¶
阿里做 OS 起源于移动操作系统 YunOS,距今已近 10 年,后整合升级为 AliOS。其中 AliOS Things 是 AliOS 家族专门针对物联网领域的、高可裁剪、轻量级的嵌入式操作系统,致力于搭建云端一体化物联网基础设备。具备极致性能,极简开发、云端一体、丰富组建、安全防护等关键能力,并支持终端设备连接到阿里云 Link,可广泛应用在智能家居、智慧城市、新出行等领域。
2017 年 10 月,AliOS Things 正式开源。
AliOS Things 采用微内核架构,能够将在智能硬件上运行的软件容器化和在线化升级,这意味软硬件可以快速解耦、运维,降低了硬件厂商的生产与维护成本。据阿里官方介绍,这是一款专用于 AIoT 智能设备的操作系统,具备全新开发模式、在线裁剪工具、应用与内核分离、脚本语言支持、本地 AI 框架等特性。
另外,AliOS Things 也是平头哥 YoC 软件平台的核心。
OneOS¶
OneOS 是中国移动针对物联网领域推出的轻量级操作系统,2018 年开始顶层设计,2020 年 6 月正式对外发布开源版本。该系统具有可裁剪、跨平台、低功耗、高安全等特点,支持 Arm Cortex-M/R/A、MIPS、RISC-V 等主流 CPU 架构,兼容 POSIX、CMSIS 等标准接口,支持 Micropython 语言开发,提供图形化开发工具,能够有效提高开发效率并降低开发成本,帮助客户开发稳定可靠、安全易用的物联网应用。
TencentOS tiny¶
TencentOS tiny 是腾讯面向物联网领域开发的实时操作系统,具有低功耗、低资源占用、模块化、安全可靠等特点,可有效提升物联网终端产品开发效率。
TencentOS tiny 号称业界最小,只有 1.8K,提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU 及模组芯片上。基于 RTOS 内核提供了丰富的物联网组件,内部集成主流物联网协议栈 (如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入腾讯云物联网平台。
有意思的是,这款操作系统推出不久后腾讯曾宣布,TencentOS 将于 2017 年 6 月 28 日停止服务。当时给出的解释是,“因为第三方 ROM 市场萎缩,TencentOS 要退出历史舞台了。”
但面对物联网市场的前景,2019 年 9 月,腾讯还是宣布 TencentOS tiny 开源,希望以此进一步推动其物联网生态的繁荣。目前,TencentOS tiny 已支持意法半导体、恩智浦、华大半导体、瑞兴恒方、国民技术等主流厂商多种芯片和模组。不过,与华为、阿里强势且全面的生态布局相比,腾讯还有很长一段路要走。
MiCO¶
2014 年 7 月,上海庆科 (Mxchip) 携手阿里云发布了 MiCO (Micro-controller based Internet Connectivity Operating System),这是一个面向智能硬件优化设计的、运行在微控制器上的、高度可移植的操作系统和中间件开发平台。当时庆科称,这是中国首款真正意义上的物联网操作系统。