zephyr操作系统:第一节

来源:互联网 发布:mac 查看文件内容命令 编辑:程序博客网 时间:2024/05/29 03:15

1. Zephyr OS简介

        Zephyr Project是一个小巧且易扩展的实时操作系统(real-time operating system,RTOS)。它可以应用于多种“资源受限”的系统,并且支持多种架构。

        开发者能够通过裁剪系统得到最佳解决方案。作为一个真正的开源项目,Zephyr社区会持续更新Zephyr项目来支持更多新硬件,开发者工具,传感器以及设备驱动等等。

        在Zephyr操作系统上,先进的安全性,设备管理能力,连通栈和文件系统能够很容易实现。

2. Zephyr OS特点

2.1 安全性

        随着越来越多的设备在物联网(Internet of Things)中互相连通,即便是最小的设备也需要具备一定级别的安全性来避免恶意攻击。

        Zephyr项目设计中已经将安全性考虑在内了。该项目在所有的开发阶段使用了深度安全生命周期,这些开发活动包括:安全性验证、渗透测试、频繁代码review、静态代码分析、威胁建模和review,通过这些方法来避免代码中的后门。实际上,Zephyr内核静态编译成单个二进制可执行文件,没有可加载内核。这种做法就将攻击代码的可能性限定在了编译阶段。

        该项目已经被多位安全性验证方面的专家进行仔细审查,在这一过程中,专家们使用了工业级安全工具来识别攻击模型。确保安全性集成是该项目的最优先考虑的事情。

        该项目管理一个安全性工作组,委任一名安全维护者来进行安全性方面的管理工作。这个管理机构成员负责保证代码开发的各个方面的安全性。

2.2 开放源码

        Zephyr项目支持Apache2.0开源认证。项目可以用于商业、非商业解决方案。Linux基金会作为联合主办单位,该项目采用轻量级的管理以及开源结构。Linux基金会积极致力于从整个工业领域寻找那些对于Zephyr项目感兴趣的新成员,这些成员包括:工商业生产商、半导体厂商、开发工具、加速器、启动以及专业生产者。

2.3 连通性

        Zephyr项目提供用于低功率、小内存的设备的优化的连通协议。该项目支持蓝牙、蓝牙LE、WiFi、802.15.4以及其他的标准协议,比如6Lowpan、COAProject、IPv4、IPv6以及NFC。后续项目还会继续增强这些连通的功能。

2.4 模块化

        Zephyr项目给开发者提供了丰富的用于受限设备的软件特性。Zephyr内核以及相关软件模块可以运行在8kB到512kB的内存设备上。除此之外,Zephyr能够以完整的RTOS系统运行或者按照开发者自己的设备裁剪相关的模块。Zephyr项目将支持集成第三方组件,包括第三方库、外部模块以及应用开发。

3. Zephyr OS运行机制

3.1 Fiber

        Fibers是被协同调度的。

        Fibers在调用可阻塞API之后运行。可阻塞API的功能:

        > 标记成不可运行;

        > 然后,下一最高优先级Fiber被运行。

        典型的应用:Fibers被用于设备驱动以及性能要求高的工作

3.2 Task

        一个task被调度时,在没有fibers,该task可以运行。

        tasks是基于抢占的。

        最高优先级task首先运行。

        Tasks常被用于数据处理。

3.3 ISR

        ISRs能够中断fibers和tasks。

        默认情况下,内嵌的ISRs是打开的。

        ISRs能够标记fibers和tasks为运行态。


Zephyr官网链接:点击打开链接https://www.zephyrproject.org/

1 0