eCos(Embedded Configurable Operating System)は、
組み込みシステムと、単一
プロセス内で複数のスレッドが動作するアプリケーションを対象とした、フリーでオープンソースの
リアルタイムオペレーティングシステム(RTOS)です。その最大の特徴は、実行時のパフォーマンスとハードウェア要件に合わせて細かくカスタマイズできる点にあります。
設計思想
eCosは、数十
キロバイトから数百
キロバイト程度のメモリサイズを持つデバイスや、リアルタイム処理が不可欠なアプリケーションのために設計されました。組み込みLinuxよりもさらに低いリソース要件で動作し、2MiB以下のRAMを持つハードウェアでも利用可能です。この軽量さと柔軟性により、幅広いハードウェアプラットフォームに対応しており、ARM、CalmRISC、FR-V、H8、
IA-32、モトローラ68000、Panasonic AM3x、MIPS、NEC V8xx、Nios II、
PowerPC、
SPARC、
SuperHといった多様なアーキテクチャをサポートしています。
eCosの配布物には、
組み込みシステム向けの
ブートストラップ
ファームウェアを提供するRedBootが含まれており、これはeCosのHardware Abstraction Layer(HAL)を利用しています。eCos自体はCおよび
C++で実装されており、POSIXとµITRONの
互換レイヤーとAPIを提供しているため、既存のコード資産を有効活用しながら開発を進めることが可能です。
歴史
eCosは、1997年にサイグナスソリューションズ(後に
レッドハットに買収)によって開発が始まりました。しかし、2002年前半に
レッドハットがeCosの開発を中止し、開発チームを解散しました。その後、解雇された開発者の多くはeCosの開発を継続し、中にはeCosに関連するサービスを提供する企業を設立した者もいました。
2004年1月には、eCosの開発者たちの要望を受けて、
レッドハットがeCosの著作権を
フリーソフトウェア財団に移管することに合意し、2008年5月にこの手続きが完了しました。この著作権の移管により、eCosは真の意味でオープンソースプロジェクトとして再出発することになりました。
有償版
eCosには、eCosCentric社によって開発された商用フォークであるeCosProが存在します。eCosProは、
プロプライエタリソフトウェアのコンポーネントを含み、「安定しており、完全にテスト済みで、保証とサポートが付いたバージョン」として提供されています。eCosProの一部の機能は、フリーソフトウェアとしては公開されていません。
批判
eCosには、FreeBSD由来のTCP/IPネットワークスタックが含まれていますが、このスタックは2001年当時のものであり、セキュリティと安定性に懸念があります。IPv4の実装はFreeBSD RELENG_4_4_0_RELEASEを基にしており、IPv6はKAMEプロジェクトのものをベースにしています。
eCosの公式メンテナは、FreeBSDやKAMEのセキュリティや安定性のアップデートを追跡していないと考えられており、ユーザーからのバグレポートに依存した対応に留まっている状況です。また、SNMPパッケージも古いものが採用されており、品質に課題が残っています。これらの点から、eCosをネットワークに接続して利用する際には注意が必要です。
関連項目
外部リンク