Zephyr(ゼファー)は、通信機能を備えた省リソースのマイクロコントローラーで動作する組み込み機器向けリアルタイムオペレーティングシステムである。複数のアーキテクチャをサポートし、Apache License 2.0リリースされている。Zephyrには、カーネルだけでなく、デバイスドライバ、プロトコルスタック、ファイルシステム、ファームウェアアップデートなどのアプリケーションを開発するために必要なすべてのコンポーネントとライブラリが含まれている。
歴史
2015年11月、Zephyrはウインドリバー・システムズによってモノのインターネット (IoT) デバイス向けにRocketカーネルとして開発が開始された。
2016年2月、ZephyrはLinux Foundationのプロジェクトになった。
これ以降、初期メンバーとサポーターにはインテル、NXPセミコンダクターズ、シノプシス 、Linaro、テキサス・インスツルメンツ、DeviceTone、ノルディック・セミコンダクター、オーティコン、ボーズが参加している。
特徴
Zephyrは、リソースに制約のある組み込みまたはマイクロコントローラベースのアプリケーションを開発するために必要なすべてのコンポーネントを提供する。含まれるコンポーネントの例は以下であるが、これに限定されない。
- フットプリントの小さなカーネル
- 必要なリソースとモジュールのコンパイル時定義のための柔軟な構成およびビルドシステム
- 一連のプロトコルスタック一式 (IPv4及びIPv6、OMA LWM2M、MQTT、802.15.4、Bluetooth Low Energy、CAN)
- 不揮発性ストレージ用の複数のフラッシュファイルシステムを備えた仮想ファイルシステムインターフェイス
- 管理およびデバイスファームウェアの更新メカニズム
構成およびビルドシステム
Zephyrは、Linuxカーネルから継承され、非Unixオペレーティングシステムへの移植性のためにPythonで実装されたKconfigおよびデバイスツリーを構成システムとして使用している。RTOSビルドシステムはCMakeに基づいており、Linux、macOS、Microsoft WindowsでZephyrアプリケーションをビルドできる。
カーネル
カーネルは、他の軽量OSと区別するいくつかの機能を提供する:
- 単一のアドレス空間
- 複数のスケジューリングアルゴリズム
- コンパイル時に定義可能なリソース、柔軟に設定可能なモジュール
- MPUベースのメモリ保護
- AMP (OpenAMPベース) およびSMPサポート
セキュリティ
グループは、セキュリティの維持と改善が重視されている。また、コミュニティによって所有およびサポートされているということは、世界のオープンソース開発者の目がコードを精査していることを意味し、これによりZephyrのセキュリティが大幅に向上している。
脚注
関連項目
- Mbed
- RIOT
- 組み込みオペレーティングシステム
外部リンク
- 公式ウェブサイト(英語)
- zephyr - GitHub(英語)




