Zephyr OS 简介
最新发布的开源 Zephyr Project™(Zephyr 项目)是一款小型且可伸缩的实时操作系统,尤其适用于资源受限的系统,可支持多种架构;该系统高度开源,对于开发人员社区完全开放,开发人员可根据需要对该系统进行剪裁,以支持最新硬件、工具和设备驱动程序;该系统高度模块化平台,可轻松集成任何架构的第三方库和嵌入式设备。
安全性
安全性对所有物联网设备都至关重要,用户最不愿意看到的情况就是连接的设备被黑客攻击。Zephyr在设备和通信协议栈的两个层次提供安全特性,可提供一次性至永久性保护用户免受安全威胁所需的保护级别。Linux基金会正计划成立一支团队,专门负责维护和提高 Zephyr 项目的安全性。由于是开源的项目,全球的开源开发人员都将审视这些代码。
开源特性
Zephyr 项目的开源特性有助于推动物联网设备实现前所未有的创新。作为开源项目,Zephyr可以向开发者提供可扩展、可定制、安全的开源的操作系统,以满足物联网设备开发的需求,同时通过开发者对物联网应用模块的贡献对自身系统不断完善,再更好地服务于开发者,从而形成良性循环。开源已经成为企业网络与服务在演进与扩展过程中的一个重要组件,Zephyr将成为全球领先的高度安全灵活的物联网平台之一。
互联互通
物联网设备的关键在于互联互通,因此需要支持多种协议保证设备可顺畅实现联网。Zephyr从头编写了低功耗蓝牙 (BLE) 实施方案,并移植了开源 Contiki RTOS 中的 IP 堆栈,支持蓝牙、低功耗蓝牙、IEEE 802.15.4、6Lowpan、CoAP、IPv4、IPv6、NFC,以及Arduino 101、Arduino Due、第二代英特尔 Galileo 开发板、NXP FRDM-K64F Freedom 开发板等。 该项目的早期合作伙伴包括英特尔公司、恩智浦半导体公司(已被高通收购)、美国新思科技公司和UbiquiOS Technology Limited。2016年9月,ARM架构开发开源软件的协作工程组织Linaro作为白金会员加盟Zephyr项目,Linaro将会以Zephyr作为适用物联网和嵌入式市场的技术开发和测试的基础,物联网有望实现嵌入式技术的多层连通。
模块化
未来的物联网设备追求的是“小而美”的满足某一应用,因此适用于未来物联网设备需求的实时操作系统不是要大而全,而是要具有高度灵活性,可以自由选择打开或者关闭某些应用。Zephyr具有模块化配置的特性,设计者可以按照标准模板使用,也可以根据实际需求禁用部分模块(使用kconfig工具),未来Zephyr项目计划提供一切必要的资源来集成第三方模块,以满足设计者的定制化需求,让系统更灵活。
超低容量
Zephyr 可在 RAM 为 8KB 时流畅运行,甚至可在 RAM 为最小的 2KB 时运行。Zephyr 内核可采用两种模式之一进行配置。最小的是“超微内核”模式,该模式可提供基础的多线程执行环境、线程间同步服务(包括信号量和互斥量)、消息队列和中断服务。超微内核模式有望用于最小和最廉价的设备,如环境传感器,这些设备除收集和发送数据外只需实施少量的处理工作。
基于Wind River构建
Zephyr 基于已使用十多年、久经实际应用考验的 Wind River 代码库而构建。扩展原始代码包括几个关键步骤。首先,通过重构提升模块化水平。在编译时,开发人员可按需采用或删除任何子系统以适应硬件。硬件包括“最底端子 Linux 设备”、“成本最低的芯片”等。运行 Zephyr 的初始硬件产品包括低端的 Arduino 101 和英特尔 Quark D2000,以及高端的第二代英特尔 Galileo。
简而言之,Zephyr支持多个架构、具有广泛的贡献者群以及不只提供一种“调度程序”,而且还提供出色的网络支持和真正的安全框架。
Zephyr OS 简介的更多相关文章
- os简介
1. 操作系统(Operation System,OS) 操作系统作为接口的示意图  没有安装操作系统的计算机,通常被称为 裸机 如果想在 裸机 上运行自己所编写的程序,就必须用机器语言书写程序 如 ...
- Zephyr-MQTT
Zephyr OS 支持MQTT协议,其源码目录在: # cd /zephyr-/samples/net/paho_mqtt_clients/publisher/ # cd /zephyr-1.5.0 ...
- Python::OS 模块 -- 简介
OS 模块简介 OS模块是Python标准库中的一个用于访问操作系统功能的模块,OS模块提供了一种可移植的方法使用操作系统的功能.使用OS模块中提供的接口,可以实现跨平台访问.但是在OS模块中的接口并 ...
- 【OS】NMON的简介和使用
[OS]NMON的简介和使用 目前NMON已开源,以sourceforge为根据地,网址是http://nmon.sourceforge.net. 1. 目的 本文介绍操作系统监控工具Nmon的概念. ...
- Python:os 模块常用方法简介
返回当前工作目录 os.getcwd() 返回 path 的绝对路径 os.path.abspath(path) os.path.abspath('.') 相当于 os.getcwd() 分割目录和文 ...
- 模块简介:(random)(xml,json,pickle,shelve)(time,datetime)(os,sys)(shutil)(pyYamal,configparser)(hashlib)
Random模块: #!/usr/bin/env python #_*_encoding: utf-8_*_ import random print (random.random()) #0.6445 ...
- python中os.path模块简介
1.python中获取当前工作目录 curDir = os.getcwd() os.getcwd()返回的是执行命令时所在的目录,而不是脚本本身所在的目录 2.os.path os.path.absp ...
- Mac OS X使用简介
一.OS X 版本以大型猫科动物命名 10.0 猎豹(Cheetah) 10.1 美洲狮(Puma) 10.2 美洲虎(Jaguar) 10.3 黑豹(Panther) 10.4 ...
- [Mac OS] Homebrew简介及安装wine
Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...
随机推荐
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)
1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...
- IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive)
首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platf ...
- 开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)
在这个.NET组件的介绍系列中,受到了很多园友的支持,一些园友(如:数据之巅. [秦时明月]等等这些大神 )也给我提出了对应的建议,我正在努力去改正,有不足之处还望大家多多包涵.在传播一些简单的知识的 ...
- web api接口同步和异步的问题
一般来说,如果一个api 接口带上Task和 async 一般就算得上是异步api接口了. 如果我想使用异步api接口,一般的动机是我在我的方法里面可能使用Task.Run 进行异步的去处理一个耗时的 ...
- 在centos7上安装Jenkins
在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...
- FullCalendar应用——整合农历节气和节日
FullCalendar用来做日程管理功能非常强大,但是唯一不足的地方是没有将中国农历历法加进去,今天我将结合实例和大家分享如何将中国农历中的节气和节日整合到FullCalendar中,从而增强其实用 ...
- atitit.细节决定成败的适合情形与缺点
atitit.细节决定成败的适合情形与缺点 1. 在理论界有两种观点:一种是"细节决定成败",另一种是"战略决定成败".1 1.1. 格局决定成败,方向决定成败 ...
- Linux设备管理(五)_写自己的sysfs接口
我们在Linux设备管理(一)_kobject, kset,ktype分析一文中介绍了kobject的相关知识,在Linux设备管理(二)_从cdev_add说起和Linux设备管理(三)_总线设备的 ...
- 《Ansible权威指南》笔记(2)——Inventory配置
四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主 ...