加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_汕头站长网 (https://www.0754zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

推荐一款IoT开源操作系统 | 基于Linux影响和Wind River血脉

发布时间:2022-10-07 12:54:37 所属栏目:Linux 来源:
导读:  Zephyr?项目是基于Apache 2.0许可并与Linux?基金会合作发布的,旨在构建一款面向最小尺寸物联网设备的实时操作系统(RTOS),它是一个将权力赋予社区发展的真正开源解决方案。Zephyr?项目的目标是允许商业和开源开
  Zephyr?项目是基于Apache 2.0许可并与Linux?基金会合作发布的,旨在构建一款面向最小尺寸物联网设备的实时操作系统(RTOS),它是一个将权力赋予社区发展的真正开源解决方案。Zephyr?项目的目标是允许商业和开源开发者共同定义和发展最适合他们需求的物联网解决方案。
 
  Zephyr?操作系统的基本目标是为“子 Linux 设备 (sub-Linux device)”提供一种开源的实时操作系统 (RTOS)。Zephyr?操作系统很小、具有扩展性并且专为小型物联网设备设计,它的模块化设计使不论采用哪个架构创建物联网方案,都能满足所有设备的需求。它也包含着强大的开发工具,随着时间的推移,令开发人员可以定制它的新功能。
 
  一、开发背景
 
  智能设备正在改变我们生活的世界,不仅仅关于我们如何控制我们的能源使用或保护我们的家园,人们预计到2020年将会有超过250亿个互联网连接的“东西”,智能设备的影响还会不断深化,这同时带来了机遇与挑战。开发者让这些设备智能化,用传感器和其他终端设备组成物联网,并提供了软件赋予设备生命。然而,开发者只有很少的资源可以使用,所以每一位内存和能量消耗都很关键。如果必须每次都要定制一个内核,或从零开始创建一个内核,才能满足这些挑战,是很乏味的,同时也会变得没有时间去开发令人兴奋的新智能设备。
 
  市场上目前的 RTOS 产品存在多方面不足。首先,其中多款产品仅支持一种架构;其次,多款产品为用户自主开发 (roll your own) 的项目,用于研究或由单人维护,会产生严重的安全缺陷;此外,一些较小的 RTOS 项目使用特殊的软件许可证,也会限制开源社区对它的采用;最后,许多现有项目在功能方面受到过多限制,无法用作物联网 (IoT) 设备的通用操作系统。
 
  越来越多的开发者需要一个专为小型物联网设备设计的可扩展实时操作系统,它必须是价格亲民,易于使用并且是由使用它的开发人员所建立与投入。一个开源实时操作系统不能仅仅是名称上的“开放”,它必须用开源的方式生存和呼吸。开发者应该对项目的方向有影响力,并能够影响它对软件和硬件架构的支持。这个操作系统统还应该最大限度地支持与其他设备的互联互通,包含强大的的开发工具,并具有可定制的功能。Zephyr?项目正是提供了这些特性,十分适合数据采集系统、制造厂以及为全球最复杂的计算系统提供关键基础设施的时间敏感型仪器和设备。
 
  二、功能
 
  模块化:支持原样使用 RTOS 或定制解决方案。
 
  广泛的通信和网络支持:初期包括 Bluetooth、Bluetooth Low Energy 和 IEEE 802.15.4,计划未来扩展更多通信和网络支持。
 
  强大的开发工具:初期支持以下平台,未来还将支持更多架构选择:
 
  Arduino 101(英特尔? Curie? 模块,包含 x86 和 Synopsys? ARC? EM 内核);
 
  Arduino Due (Atmel SAM3X8EARM Cortex-M3 CPU);
 
  英特尔? Galileo? Gen 2;
 
  NXP FRDM-K64F Freedom 开发板 (Kinetis K64F ARM?Cortex?-M4 MCU)。
 
  最小设备的安全特性:Zephyr项目在设备和通信协议栈的两个层次提供安全特性,除此之外,社区也对安全问题严肃看待,计划成立专门安全工作组并委派一位安全维护者。
 
  范围宽广的内存支持,从32KB闪存到8KB随机存取存储器:让开发者可以优化并设定范围宽广的各种设备的同时,允许他们管理甚至是最小的嵌入式设备。
 
  跨架构支持,包含ARM和x86:让开发者能够根据他们自己的开发需求,有更多选择最佳硬件的自由。
 
  整合的通讯栈,包含设备到设备的连接:开发者可以轻易地将他们的产品连接到各式各样的物联网设备,不论是传感器、网关还是云端。
 
  广泛的服务套件:Zephyr?操作系统为软件开发提供了许多熟悉的服务,其中包含:
 
  多线程服务 – 可以用于以优先级为基础非抢占式的纤程,以及以优先级为基础抢占式,可选轮询时间分片的任务;
 
  中断服务 – 可以在编译中和程序运行时处理中断程序注册;
 
  线程间的同步服务 – 提供二进制信号量(Semaphore)、计数信号量、互斥信号量;
 
  线程间的数据传递服务 - 提供基本消息队列、增强的消息队列和字节流;
 
  电源管理服务 – 不需计数的闲置状态和先进的闲置基础架构。
 
  社区支持与产业支援:Zephyr?项目与Linux?基金会的合作伙伴关系,创造了一个中性的、可信任的模式,令公司和开发者对时间和资源的投资更有意义。
 
  三、优势
 
  Zephyr 开源 RTOS 产品支持多个架构、具有广泛的贡献者群以及不只提供一种“调度程序”,而且还提供出色的网络支持和真正的安全框架。
 
  Zephyr 基于已使用十多年、久经实际应用考验的Wind River 代码库而构建。扩展原始代码包括几个关键步骤。首先linux开源,通过重构提升模块化水平。在编译时,开发人员可按需采用或删除任何子系统以适应硬件。硬件包括“最底端子 Linux 设备”、“成本最低的芯片”等。运行 Zephyr 的初始硬件产品包括低端的 Arduino 101 和英特尔 Quark D2000,以及高端的第二代英特尔 Galileo。
 
  其次,Zephyr 团队加入了网络功能。从头编写了低功耗蓝牙 (BLE) 实施方案,并移植了开源 Contiki RTOS 中的 IP 堆栈,支持 IPv6,包括低功耗6LoWPAN。该项目仍在考虑其他网络堆栈,近场通信 (NFC) 可能被采纳;ZigBee 根据需要,WiFi 也可能被采用。
 
  其代码库的第三个新增特性是基于TinyCrypt 的加密库。一个Zephyr镜像只能作为单个应用程序来运行,在编译时通过静态连接,而且运行在一个单地址空间内,不支持动态加载内核模块,这样大大降低了恶意程序的攻击面。
 
  四、特性
 
  在容量方面,Zephyr 可在 RAM 为 8KB 时流畅运行,甚至可在 RAM 为最小的 2KB 时运行,比如一个“Hello World”演示。。Zephyr 内核可采用两种模式之一进行配置。最小的是“超微内核”模式,该模式可提供基础的多线程执行环境、线程间同步服务(包括信号量和互斥量)、消息队列和中断服务。超微内核模式有望用于最小和最廉价的设备,如环境传感器,这些设备除收集和发送数据外只需实施少量的处理工作。
 
  微核模式相比超微核模式更进一步,可提供超微核模式特性的超集,包括更复杂的消息队列、更多的内存分配服务、抢占式任务和轮询时间切片。该模式有望用于稍大的物联网节点之上,如可能需要先对从传感器收集的数据进行处理和格式化、然后将其转发至远程服务器的传感器中枢。超微核和微核模式都提供网络功能。此外, Zephyr 还可利用一些 Linux 工具。使用 Linux 内核的 kconfig 可进行配置,使用 kbuild 可完成 Zephyr build。Zephyr 映像针对单个应用进行配置和构建,提供支持五个编译器的软件开发套件(SDK),该套件包含用于传输图像至准备和调试的工具。除在 Linux、Windows 和 Mac OS X 上运行外,该 SDK 还可在 Docker 容器中运行。
 
  五、支持者
 
  Zephyr 项目的早期支持者包括英特尔公司(包括收购的AlteraCorporation 和 Wind River)、恩智浦半导体公司(包括最近并购的 Freescale)、新思科技有限公司和 UbiquiOS TechnologyLimited。
 
  “英特尔相信,Zephyr 项目将会在互联、嵌入式设备市场产生重大影响。通过提供可扩展、可定制、安全且开源的操作系统,Zephyr 项目将满足互联设备开发不断演变的需求。我们计划与 Zephyr 社区合作开发一流的操作系统以推动创新。”
 
  ——Mark Skarpness,英特尔开源技术中心嵌入式操作系统工程副总裁兼软件和服务集团总监
 
  “我们坚信 Zephyr 将成为全球领先的易用物联网平台之一,它专门针对互联世界的安全性进行了设计。我们致力于为开发人员提供最好的工具和支持来开发创新解决方案。”
 
  ——Geoff Lees,恩智浦高级副总裁兼微控制器总经理
 
  “Zephyr 项目能够满足行业对开源 RTOS 日益增长的需求,这种 RTOS 符合当今资源受限的安全物联网设备的要求。我们很高兴能够参与到这个协作项目中,并为该项目尽一份力,包括为基于 Synopsys ARC 的物联网 IP 项目提供支持。”
 

(编辑:云计算网_汕头站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!