本页使用了标题或全文手工转换

Zephyr

维基百科,自由的百科全书
跳到导航 跳到搜索
Zephyr
Zephyr-logo.png
开发者 Linux基金会
风河系统
编程语言 C汇编语言
作業系統家族 实时操作系统
運作狀態 Current
源码模式 开放源代码
初始版本 2016年2月17日,​2年前​(2016-02-17[1]
最新版本 1.13.0(2018年9月10日,​3個月前​(2018-09-10[2]
最新測試版本 1.13.99(2018年9月10日,​3個月前​(2018-09-10
市場取向 物联网
支持的语言 英语
支援平台 ARMCortex-M0Cortex-M3Cortex-M4),x86ARCRISC-VNios IIXtensa
内核类别 单体内核
许可证 Apache 2.0
前一代 Wind River Rocket
官方網站 www.zephyrproject.org

Zephyr是一个小型的可缩放的实时操作系统[3],用于有连接的、资源受限的设备,支持多种体系并在Apache许可证 2.0下发行。它有一个BSD许可证的仿品出现在来自Intel的Arduino 101软件资源包中[4]

历史[编辑]

Zephyr最初是风河系统公司在2015年11月推出的为物联网(IoT)设备开发的“Rocket内核”[5][6][7],更早时称为“Microkernel Profile for VxWorks”,代码移植于2001年并购Eonic Systems得来的Virtuoso DSP RTOS[8]。在2016年2月,它成为Linux基金会的项目而改称现名[9][1]

简介[编辑]

Zephyr内核是小型的并设计用于资源受限的系统,预期目标是用于从简单的嵌入式环境传感器LED可穿戴设备英语Wearable technology,到复杂的智能手表IoT无线网关英语Wireless gateway。Zephyr的建造系统支持Zephyr SDK之外的第三方工具链[10]。Zephyr计划设立了专门机制来维护或改进安全性[11]

Zephyr计划的成员和支持者包括:IntelLinaroNXP半导体Nordic半导体,和Synopsysruntime.ioDeviceToneOticon等。[12]

特征[编辑]

Zephyr内核提供了如下一些特征:内存保护,内核服务,高可配置性,编译时确定资源。[13]

内存保护[编辑]

实现可配置的特定于架构的栈溢出保护,内核对象及设备驱动程序许可权追踪,和线程隔离,采用了在x86ARCARM架构上的线程级别内存保护用户空间和内存域。

对于没有MMU/MPU的平台和内存受限的设备,支持把特定应用的代码和一个定制内核组合起来建立一个单体映像,它被装载并执行于系统硬件之上。应用代码和内核代码二者都执行在一个共享的单地址空间英语Single address space operating system中。

内核服务[编辑]

内核为应用开发提供了一些熟悉的服务,包括:

  1. 线程服务,兼具基于优先级的、非抢先式的协同线程和基于优先级的、抢先式线程,带有可选的轮流式时间片。包括POSIX pthread兼容API支持。
  2. 中断服务,兼具编译时运行时的中断处理器注册。
  3. 线程间同步服务,具有二值信号量、计数信号量互斥信号量。
  4. 线程间数据传递服务,具有基本消息队列、增强消息队列和字节流
  5. 内存分配服务,具有固定大小或可变大小内存块的动态分配和释放。
  6. 电能管理服务,具有比如无时标空闲和高级的空闲下部构造。

高可配置性[编辑]

允许应用只合并入它需要的功能,并指定它们的数量和大小。

编译时确定资源[编辑]

要求所有系统资源都在编译时确定,这缩减代码大小并增进性能。

参见[编辑]

引用[编辑]

外部链接[编辑]