カーネル類のAPIはPOSIX 1003.13のPSE52準拠とされている。POSIX 1003.13の場合、以下の4つのプロファイルが定義されている。
これらの中ではPSE54がいわば全部入りである。SHaRKはPSE52なのでMemory Protectionのサポートがない。ただし、OSLib上で動くというSHaRKの構成を考えると、要するにSHaRKのプロセスそのものがホストOSのメモリ保護の管理下にあるという見方もできる。この辺はMPUなりMMUなりを操作しないと本来は管理できない部分であり、そこは妥協したというか、そこまでの作り込みは諦めたもようだ。
もっとも、POSIX 1003.13のPSE52に完全準拠か? というとそうでもなく、「90%ほどをサポート」としており、具体的には以下のようになっている。
まぁ、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氏が率いているようだが、同氏も忙しいのかもしれない。
ロシア製の「Kaspersky OS」はセキュリティ重視も西側での普及は見通せず
MS-DOSに敗れしCP/Mの落とし子「Real/32」はRTOSとして生き抜いた
欧州の航空宇宙分野で名を馳せるRTOS「PikeOS」の出自はL4 Kernelにあり
MC68000に最適化されたRTOS「pSOS」は波乱万丈の運命を経てVxWorksのカーネルに
FreeRTOSがライバル!? イタリア発のRTOS「BeRTOS」は古のBeOSとは関係ないCopyright © ITmedia, Inc. All Rights Reserved.
組み込み開発の記事ランキング
コーナーリンク
よく読まれている編集記者コラム