インテルの枷が外れたウインドリバー、組み込みOSの老舗はIoTで本気を出せるか:IoT観測所(44)(1/3 ページ)
2018年4月、インテルの傘下を外れることが決まったウインドリバー。これは、組み込みOSの老舗である同社にとって、IoT市場に本格的に参入するきっかけになるかもしれない。
米国時間の2018年4月3日、インテル(Intel)傘下のウインドリバー(Wind River)は、米国の投資ファンドであるTPGキャピタル(TPG Capital)に買収されたことを発表した(ウインドリバーのニュースリリース)。1981年創業のウインドリバーは、2009年にインテルが約8億8400万ドルで買収して傘下に置いていた※)。それからも独立運営がなされていたが、これをインテルがTPGキャピタルに売却した形である。
※)関連記事:Intel、組み込みOSのWind Riverを8億8400万ドルで買収
そのウインドリバーは、IoT(モノのインターネット)という名前が普及し始める前からの組み込みOSのいわば老舗であり、同社の製品は幅広く利用されている。ちょっとIoTから外れる部分もあるかもしれないが、今回はそのウインドリバーについて紹介したいと思う。
進化を続ける「VxWorks」で組み込みOSのシェアを伸ばす
ウインドリバーといえば、何といっても「VxWorks」である(図1)。VxWorksは1987年に初登場したが、実はオリジナルはReady Systemsという会社の開発したVRTX(Versatile Real-Time Executive)というリアルタイムOS(RTOS)である。ウインドリバーは、このVRTXを独自に改変、販売する権利を得た上で、VRTXをベースにいろいろと拡張を施したものをVxWorksという名前で発売している。
余談だが、Ready Systemsはその後メンター・グラフィックス(Mentor Graphics)に買収され、この結果VRTXはメンターの製品としてその後も販売された。ただしメンターは、2002年にAccelerated Technologyという企業を買収し、以降はここの持っていた「Nucleus」をRTOSの主軸に据えている。そんなこともあって既にメンターのWebサイトを確認してもVRTXの名前はほとんど出てこない。
話を戻すと、VRTXからVxWorksへの改変に当たっては、独自カーネルの実装まで含まれており、そんな訳でオリジンはVRTXといっても、ほとんど別のものとしてよい。VRTXでは16ビットの「Z8000」や「8086」、「MC68000」などをサポートしたバージョンがあったが、VxWorksでは32ビットプロセッサがターゲットとなっている。
さて、VxWorksそのものは、もともとモノリシックカーネルでスタートしている。当初のVxWorksは組み込み向けOSではあるものの、RTOSを名乗るための必須条件としても良い、応答時間の最悪値に関しても明確ではなかったし、そういう意味では非常にプリミティブな構成だった。ただし1980年代後半といえば、まだプログラムがEEPROMに格納されている時代で、APIコールもトラップ命令を利用する感じである。
要するにMS-DOSのファンクションコールと似た構造であり、スタックなどにパラメータを積んで割り込みを発生させると、ISR(割り込みサービスルーティン)の中でカーネルが動くというイメージだ。こうした使い方だと、モジュール構造はむしろ使いにくい。またこうした時代の場合、最悪値保障などはなくても、おおむね実際に動作する際のレイテンシなどは推定可能だったから、実際のアプリケーションを構築するにはこれで十分だった、という話もある。
そんなこともあり、VxWorksは組み込み向けOSとしてどんどんシェアを伸ばして行く。もちろんプロセッサ側の進化に合わせ、VxWorksもどんどん洗練されて行く。当初はメモリ管理機能も原始的なものだったのが、機能の充実を続け、仮想記憶にも対応。モノプロセッサだけでなくマルチプロセッサにも対応するようになり(当初はSMP(対称型マルチプロセッシング)、後にAMP(非対称型マルチプロセッシング)もサポート)、モノリシック構成はモジュール構成に切り替わっている。加えてネットワークスタックやらハイパーバイザーやら、どんどん機能が追加されて行き、かつての小型超軽量というイメージからはだいぶ離れつつあるのが現状ではある。
とはいえ、モジュール構造のおかげで必要なコンポーネントを組み込むだけでフットプリントを小さく抑えられるし、これまでの連載で取り上げてきたどんなOSよりもはるかに多くのハードウェアをサポートしている。例えば、BSP(Board Support Package)の数だ。アーキテクチャ別一覧がこちら、OSバージョン別がこちらだが、VXWorks 5.5.1〜VXWorks 7で合計962(原稿執筆時点)ものBSPが提供されている。これに比肩しうるRTOSはなかなか存在しない。
Copyright © ITmedia, Inc. All Rights Reserved.