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系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...
随机推荐
- 【.net 深呼吸】设置序列化中的最大数据量
欢迎收看本期的<老周吹牛>节目,由于剧组严重缺钱,故本节目无视频无声音.好,先看下面一个类声明. [DataContract] public class DemoObject { [Dat ...
- Angular企业级开发(5)-项目框架搭建
1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...
- 【java】Naming.bind和Registry.bind区别
Naming类和Registry类均在java.rmi包 Naming类通过解析URI绑定远程对象,将URI拆分成主机.端口和远程对象名称,使用的仍是Registry类. public static ...
- 【翻译】MongoDB指南/聚合——聚合管道
[原文地址]https://docs.mongodb.com/manual/ 聚合 聚合操作处理数据记录并返回计算后的结果.聚合操作将多个文档分组,并能对已分组的数据执行一系列操作而返回单一结果.Mo ...
- dubbox微服务实例及引发的“血案”
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成. 主要核心部件: Remoting: 网络通信框架 ...
- scp报错 -bash: scp: command not found
环境:RHEL6.5 使用scp命令报错: [root@oradb23 media]# scp /etc/hosts oradb24:/etc/ -bash: scp: command not fou ...
- TYPESDK手游聚合SDK服务端设计思路与架构之一:应用场景分析
TYPESDK 服务端设计思路与架构之一:应用场景分析 作为一个渠道SDK统一接入框架,TYPESDK从一开始,所面对的需求场景就是多款游戏,通过一个统一的SDK服务端,能够同时接入几十个甚至几百个各 ...
- Node.js学习笔记——Node.js开发Web后台服务
一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...
- iOS之延时执行(睡眠)的几种方法
1. 最直接的方法: [self performSelector:@selector(deleyMethod) withObject:nil afterDelay:1.0]; 此方式要求必须在主线程中 ...
- 编译器开发系列--Ocelot语言6.静态类型检查
关于"静态类型检查",想必使用C 或Java 的各位应该非常熟悉了.在此过程中将检查表达式的类型,发现类型不正确的操作时就会报错.例如结构体之间无法用+ 进行加法运算,指针和数值之 ...