ソフトでもハードでもノンリアルタイムでもOKなRTOS環境「SHaRK」:リアルタイムOS列伝(55)(3/3 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第55回は、ホストOSの上でリアルタイム環境を提供するライブラリ群として提供されるRTOS環境である「SHaRK」を紹介する。
POSIXに慣れたプログラマーなら簡単にとっつきやすい
カーネル類のAPIはPOSIX 1003.13のPSE52準拠とされている。POSIX 1003.13の場合、以下の4つのプロファイルが定義されている。
- PSE51:最小構成。File SystemやMemory Protectionはなく、Mono-Process/Multi-Thread Kernelを提供
- PSE52:PSE51+File System+Asynchronous I/O
- PSE53:PSE51+Process Support+Memory Protection
- PSE54:PSE53+File System+Asynchronous I/O
これらの中ではPSE54がいわば全部入りである。SHaRKはPSE52なのでMemory Protectionのサポートがない。ただし、OSLib上で動くというSHaRKの構成を考えると、要するにSHaRKのプロセスそのものがホストOSのメモリ保護の管理下にあるという見方もできる。この辺はMPUなりMMUなりを操作しないと本来は管理できない部分であり、そこは妥協したというか、そこまでの作り込みは諦めたもようだ。
もっとも、POSIX 1003.13のPSE52に完全準拠か? というとそうでもなく、「90%ほどをサポート」としており、具体的には以下のようになっている。
- Standard C Libraryをサポート
- File Systemをサポート
- pthread libraryをサポート
- Asynchronous I/Oは未サポート
- Localeおよびsetjmpは未サポート
まぁ、Localeやsetjmpは致し方ない気がする。
実際に、デモの中にあるHello, worldのコードはリスト1のようになっている。
#include "kernel/kern.h" int main(int argc, char **argv) { cprintf("Hello, world!\n"); return 0; }
非常にシンプルというか、POSIXに慣れたプログラマーなら簡単にとっつきやすいことが分かる。
大学と研究所で開発されたものだけに、ライセンスはGPL v2での提供となっている。そんなわけで無償で利用可能だが、商用に使おうとするとGPLに従う必要があるので、ちょっと使いにくいのは事実。もっともこれを商用で使おう、というユーザーはあまりいない気もするが。
最新バージョンは2007年11月にリリースされたVersion 1.5.4となっている。ロードマップそのものは2008年6月に更新されており、色々目標が書かれているが、今のところこれが実現されそうな目途は立っていない。プロジェクトは引き続きButtazzo氏が率いているようだが、同氏も忙しいのかもしれない。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載記事「リアルタイムOS列伝」バックナンバー
ロシア製の「Kaspersky OS」はセキュリティ重視も西側での普及は見通せず
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第54回は、ロシア発のセキュリティベンダーとして知られるカスペルスキーが開発した「Kaspersky OS」を紹介する。MS-DOSに敗れしCP/Mの落とし子「Real/32」はRTOSとして生き抜いた
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第53回は、CP/Mで知られるDigital ResearchのDOSを源流とする「Real/32」を紹介する。欧州の航空宇宙分野で名を馳せるRTOS「PikeOS」の出自はL4 Kernelにあり
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第52回は、欧州の航空宇宙分野で広く利用されている「PikeOS」を紹介する。MC68000に最適化されたRTOS「pSOS」は波乱万丈の運命を経てVxWorksのカーネルに
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第51回は、MC68000への最適化によって1980〜1990年代に広く採用されたRTOS「pSOS」を紹介する。FreeRTOSがライバル!? イタリア発のRTOS「BeRTOS」は古のBeOSとは関係ない
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第50回は、イタリア発のRTOS「BeRTOS」を紹介する。