組み込み
Linuxは、特定の機能に特化したシステム、いわゆる
組み込みシステムで動作する
Linuxカーネルや
オペレーティングシステム、またはそれらを搭載した機器を指します。
スマートフォン、家電製品、産業用機器、医療機器など、幅広い分野で活用されています。
2008年の調査では、組み込みエンジニアの18%が
Linuxを使用しているというデータもあります。
リソース制約への対応
デスクトップや
サーバー向けの汎用
Linuxとは異なり、
組み込みシステムではメモリやストレージ容量などのリソースが限られています。そのため、組み込み
Linuxでは、ハードディスクの代わりに
フラッシュメモリが利用されることが多く、カーネル自体もアプリケーションやハードウェアに合わせて最適化されています。具体的には、リアルタイム
オペレーティングシステムとしての機能強化などが挙げられます。
開発の柔軟性
Linuxはもともと移植性に優れており、さまざまなアーキテクチャで動作します。
組み込みシステムへの移植においても、プロプライエタリなツールに比べて、
ソースコードの修正や再配布が自由に行えるという利点があります。また、2MB以下のメモリで起動可能な軽量さ、安定した動作、充実したサポート体制も特徴です。
標準Cライブラリには、glibcよりもリソース消費の少ないdietlibc、uClibc、Newlibなどが採用されることもあります。
2006年には
Linuxのドライバ開発キットがリリースされ、
Linux Foundationによるトレーニング講座やウェビナーも提供されています。BusyBoxのようなオールインワンツールや、
Samba、
WebKitなどの
ミドルウェアも活用されており、
Maemo、
Moblin、Androidといった新しい
ミドルウェアのプラットフォームも登場しています。開発環境としてはEclipseや商用製品が用いられ、Eclipseには組み込み開発に特化した様々なプラグインが用意されています。
Qemuなどのエミュレータや、分散コンパイルツールdistcc、iceccなども開発に役立ちます。
2008年のGartnerの調査では、
Linuxのシェアは8.1%でしたが、AndroidやPalm
WebOSなどの
LinuxカーネルベースのOSの普及により、2009年にはモバイルデバイス市場で11%のシェアに達しました。2010年にはAndroidの
スマートフォン市場でのシェアが24%となり、2位に躍り出ています。
その他の分野
日本では、ネットワーク接続に対応したハイエンドテレビに
Linuxが搭載されるのが一般的です。また、ゲームコンソールでは、PS2にPS2
Linuxが提供されたり、PS3で
Linuxのインストールができた時期もありました。近年では、
スマートフォンゲーム市場の拡大に伴い、Androidを搭載した携帯ゲーム端末も登場しています。
Linuxカーネルの組み込み向け機能
組み込み
Linuxには、以下のようなカーネルの機能が搭載されています。
多様なCPUアーキテクチャへの対応: さまざまなCPUで動作し、MMUがないCPUでも利用可能です。
低リソースでの動作: 少ないメモリでも動作し、XIP(Execute in place)や読み出し専用
ファイルシステムが利用できます。
リアルタイム性: ソフトリアルタイムやハードリアルタイムに対応し、タイトな用途にも利用可能です。
セキュリティ機能: サンドボックスやコンテナ技術を利用できます。
他の組み込みOSとの比較
組み込み
Linuxは、豊富な
ミドルウェア、POSIX互換性、多様なプロトコルスタック、PCでの開発環境の構築の容易さなど、開発しやすい多くの特徴を持ちます。また、オープンソースであるため、自由に改良でき、セキュリティも高く、サポート企業も多く存在します。ただし、カーネルのコンパイルオプションは非常に多く、専門知識も必要になります。
リアルタイム性能
リアルタイム用途では、スループットよりもレイテンシの低さが重要です。
Linuxカーネルのリアルタイム性能は、RT PREEMPTパッチによって大きく改善されました。現在では、BKL(Big Kernel Lock)が削除され、より効率的なロック機構が導入されています。RT PREEMPTは主要カーネルツリーへのマージが進められており、今後の更なる発展が期待されます。
他のマイクロカーネルとの組み合わせ
リアルタイム性能を更に高めるために、
RTAIやRT
Linuxのような他のマイクロカーネルと
Linuxを組み合わせる手法も利用されています。
関連団体とコミュニティ
組み込み
Linuxの利用を推進する業界団体として、Emblix、CE
Linux Forum、
Linux Foundationなどがあります。CE
Linux Forumは
Linux Foundationに合併し、組み込み
Linuxの開発を容易にするYocto Projectを開始しました。また、
携帯電話向けの標準化団体として、
LiMo FoundationやOpen Handset Allianceなどがあります。さらに、Linaroという企業連合は、各SoCに最適化されたツールやカーネルを共有しています。
組み込み
Linuxは、
携帯電話・
スマートフォン(
モトローラ、
Google、
パナソニック、NEC、HTC、Palm、
ノキア、ソニー・
エリクソン、
シャープなど)、Wi-Fi電話、モバイルインターネット端末・PDA(
ノキア、
シャープ、ソニー)、テレビ・レコーダ(
パナソニック、
日立、ソニー、
シャープ、
東芝、NEC)、ホーム
サーバー・マイクロ
サーバー・LAN接続型ハードディスク(
シャープ、玄人志向、
ぷらっとホーム、マーベル、
アイ・オー・データ機器、BUFFALO、NETGEAR、
NTTコムウェア)、
ハンディカム、
デジタルカメラ、
プリンター、フォトフレーム、電子ブックリーダー、ルーター、プレーヤ、シンセサイザー、カーナビ、ラジコン、ロボット、カラオケ、家庭用ゲーム機など、非常に幅広い製品に利用されています。
ベンダーと支援団体
組み込み
Linux関連のベンダーには、ACCESS、LynuxWorks、MontaVistaソフトウェア、ウインドリバー・システムズなどがあります。また、ドライバ開発や研修を行う企業や団体も存在します。
プラットフォームと仕様
組み込み
[Linux]]のプラットフォームには、Qt Extended、Openmoko、
MeeGo、
Maemo、
Moblin、
Tizen、
MOAP]、[[Access [[Linux Platform]]、Palm
WebOS、Android、
Bada、Meltemi、
Ubuntu MID Edition、OpenWrt、DD-WRTなどがあります。また、
携帯電話向けプラットフォームとしては、LiMo Platformがあります。
組み込み
Linuxに限らず、
Linuxカーネルに関わる
特許問題が存在します。
Linuxカーネルでは、
特許で保護された技術が利用されており、その
特許を巡って
マイクロソフトが
Linuxカーネルに
特許侵害があると主張したり、
AppleがAndroid端末を製造しているHTCを
特許侵害で訴えたり、
特許を巡る訴訟が多発しました。
Open Invention Network(OIN)
OINは
Linux関連の
特許を
ロイヤリティフリーで利用可能にするための企業連合で、
IBM、ノベル、オラクル、HP、シスコ、
レッドハット、
Googleなど、数百の企業や団体が参加しています。
マイクロソフトは
Linuxカーネルに
特許侵害があると主張し、TomTomを訴訟したことがありますが、和解に至りました。また、OINは
マイクロソフトの
Linux関連
特許を買い取っています。
マイクロソフトと富士ゼロックス、メルコ、
アイ・オー・データ機器が
Linux製品の
特許に関する契約を結んでいます。
iPhoneとAndroidの特許係争
AppleはHTCを
特許侵害で提訴し、
マイクロソフトはAndroidが
特許侵害していると非難しました。HPはパームを買収して1500件の
特許を引き継いでおり、これらの
特許が
特許訴訟に影響を与えているとみられています。
フリーソフトウェアコミュニティからの提言
フリーソフトウェア財団は、ソフトウェア
特許の問題を扱ったドキュメンタリー映画を公開しています。
組み込み
Linuxは、その柔軟性、拡張性、開発の容易さから、今後も多くの分野で利用されることが期待されます。しかし、
特許問題やリアルタイム性の確保など、解決すべき課題も残されています。