エッジコンピューティングの逆襲 特集

インテルのIoT戦略から生まれたRTOS「Zephyr」は徒花で終わらないリアルタイムOS列伝(7)(3/3 ページ)

» 2020年11月05日 11時00分 公開
[大原雄介MONOist]
前のページへ 1|2|3       

商用/非商用問わず無償で利用できるのにグレードは商用OSに近い

 ということで、意外なところでちゃんとユーザーがいることが判明したのがこのZephyrである。もともとRocket自身が、32ビットMCUをターゲットに、4KB程度のフットプリントで動作する軽量RTOSを目指したということもあって、こうした特徴はZephyrにも引き継がれている。

 主な特徴は以下のようになっている。軽量という割には欲張った機能が提供されていることが分かるだろう。

  • マルチスレッドベース。複数のスケジューリング手法をサポート
  • スレッド間同期はバイナリ/カウンタ/Mutexの各セマフォを利用
  • スレッド間通信はメッセージキュー(標準/拡張)とバイトストリーム
  • パワーマネジメントサービスを利用可能
  • POSIX互換APIを利用可能
  • メモリ空間はシングル。MPU/MMUを利用したメモリ保護以外に、MPUを持たないプロセッサ上でのメモリ保護機能も提供。具体的にはプロセッサに依存するスタックオーバーフロー保護の他、カーネルオブジェクト/デバイスのパーミッション追跡、スレッド隔離などを提供する
  • 標準でLwM2M(Lightweight M2M)およびBSDのソケット互換サービスを提供する(Nordic Semiconductorのプロセッサの場合は、さらにOpenThreadもサポート)
  • LittleFS/FATFSに加え、NVS(Non Volatile Storage)などのファイルシステムへの対応をサポート
  • シェルが提供される
  • 非対称型(Arm向け:OpenAMP対応)と対称型マルチプロセッサの両方をサポート

 また、サポートするプロセッサアーキテクチャは以下のようになっている。

  • ARC EM/HS
  • ARMv6-M, ARMv7-M, and ARMv8-M(Cortex-M)
  • ARMv7-A and ARMv8-A(Cortex-A, 32- and 64-bit)
  • ARMv7-R(Cortex-R)
  • Intel x86(32- and 64-bit)
  • NIOS II Gen 2
  • RISC-V(32- and 64-bit)
  • Tensilica Xtensa

 Zephyrのプロジェクトが始まったのが2017年と比較的新しいこともあり、昨今のMCUのトレンドに沿ったアーキテクチャがサポートされている(逆に、古いアーキテクチャは未サポート)。オプションの形でBluetooth Low Energy(BLE)/Wi-Fi/IEEE 802.15.4 Radioがサポートされ、プロトコルとしても6LoWPAN/COAP/IPv4/IPv6/Ethernet/USB/CAN/Threadなどが対応リストに上がっている。

 LTS(Long Time Support)の提供とセキュリティの対応に力点が置かれており、特にセキュリティに関しては安全規格の認証が取得できるレベルの監査をコードベースで行うことを念頭に置いている。

 ただこうした体制なので、Zephyr Projectのメンバーは開発者個人というよりは企業メンバーということになる。実際に、Member Directoryを見ると、そうそうたる企業が名を連ねている。特に、セキュリティや安全規格、監査について原則参加できるのはPlatinum Member(年間10万〜12万米ドルを支払う必要がある)に限られており、これだけの金額を支払うからには真剣に活動を行って成果を上げる必要がある。

図5 図5 Zephyr Projectのメンバー企業(クリックで拡大) 出典:Zephyr Project

 その意味でZephyrは、Apatch 2.0 Licenseで提供され、商用/非商用問わず無償で利用できるにしては、かなり商用OSに近いグレードのRTOSが提供されているということになる。知名度の低さから、あまりこれを利用しているという話を聞いたことはないのだが、なるほどIntelが自社製品にZephyrを採用したのは、単に他のOSを扱える人間がいないなどという理由ではなく(いや、それはそれであるのかもしれないが)、それなりに製品のクオリティーを保つためには必須のRTOSであると判断したのかもしれない。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.