組み込みアプリケーション用Linuxのガイド
by jiashiuan on 10 June 2022
原典:https://ubuntu.com/blog/linux-for-embedded-applications
組み込みデバイスとは、ハードウェアとソフトウェアで構成され、コンピュータシステム全体の中で専門の機能を実行するシステムです。一般にはリソースに制約があり、処理エンジンを含みます。組み込みLinuxシステムのソフトウェアはLinuxカーネル上で実行されます。Linuxカーネルとはシステム内の処理すべてを完全に制御するOSの中核部分です。
つまり組み込みLinuxシステムとは、簡単に言えばLinuxカーネル上で実行される組み込みシステムです。ここでは、組み込みアプリケーション用のLinuxの何が特別かを解説します。
組み込みアプリケーション用のカーネル
LinuxカーネルはUnixに類似したOSカーネルファミリーのメンバーです。Unixの最初のバージョンは、AT&T Bell Labsで1969年に開発されました。Unixは最初のポータブルOSでしたが、同社が所有権を保有していたため、Linuxに加えてFreeBSD、NetBSD、OpenBSDなどの多くの無償でオープンソースの代替品が開発されました。
Linuxカーネルは、システム起動時にRAMに読み込まれ、セッションの間は常時メモリに保持されます。
Linus氏は組み込みアプリケーション用のLinuxのバージョンを公開したことはありませんが、開発者は多くの場合、カスタムハードウェアをサポートする構成比を必要とします。これは、デバイス内のカーネルのビルド構成が、サーバーやワークステーションのものとは一般に異なるためです。
組み込みアプリケーション用のLinux
Linuxは、組み込みアプリケーションの開発者に最も人気の高いOSです。その理由は、オープンソースであること、スケーラビリティ、開発者向けのサポート、ツールなどいくつかのあり、Linuxが組み込みシステムに適していることは多くの議論で確立されています。
Linuxのカーネルは、開発者によっていくつものCPUアーキテクチャに移植されているため、多くのハードウェアプラットフォームで実行できます。Linuxを使用すると、産業用設定の特別なプログラミング言語や、マイクロコントローラのネイティブのプログラミングに制限されることなく、広範な言語がサポートされます。
Linuxには豊富なネットワーキングプロトコルのスタックが実装されており、拡張性に優れ、オープンソースで、コミュニティにより包括的なサポートを受けており、ロイヤリティなしで使用できます。組み込み用Linuxが急速に成長している理由は、ほぼ際限なく挙げることができます。
Ubuntu Coreは組み込みアプリケーション用のLinux 2.0
Ubuntu Coreは、IoTおよび組み込み環境向けのUbuntuで、全世界の開発者がUbuntuから期待するような復元性とセキュリティを実現しています。フットプリントが最小限で、モジュール構造の、アーキテクチャが簡単なOSで、Linuxの汎用的なパッケージング形式であるSnap上に構築されています。
アプリケーションを自動的に封じ込め、すべてのSnapに厳格なAppArmorとSeccompのルールを統合する点で、セキュリティはUbuntu Coreの重要な特徴です。Canonicalは、Ubuntuを背後で支える企業として、システム全体を最初のブート部分から再設計し、最もセキュアな組み込みLinuxを作り上げました。これにより開発者は、フルディスクの暗号化から読み取り専用のルートファイルシステムまで複雑なセキュリティ機能を自分自身で実装することなく、高い費用対効果で組み込みデバイスを出荷できます。
Ubuntu Coreデバイスの更新は、実運用環境で十分なテストが行われたCanonicalのソフトウェア配布機構により提供されます。
膨大な数のデバイスのソフトウェアと更新を管理するのは簡単ではありません。ハードウェアの一部で別のアプリケーションを実行する必要がある場合は特にそうです。複数のマシンでソフトウェアの更新と取り扱いを自動的に行うのは、Linux用のIoTアプリストアの主要な機能の1つです。このカスタムのエンタープライズストアでは、グローバルなSnapストアで公開されているソフトウェアや、特定の用途向けに社内で開発されたカスタムソフトウェアなどを含めて、デバイスで使用するアプリケーションを最適な組み合わせで使用できます。
結論として、セキュアなOS、Snapパッケージ、ストアの組み合わせにより、開発者はセキュアでオープンソースな組み込みソフトウェアの開発と展開用のプラットフォームを使用できるようになります。
組み込みLinuxプロジェクトにYoctoとUbuntu Coreのどちらを使用すべきか
次の組み込みプロジェクト用にUbuntu Linuxを評価中ですか?
参考資料
基本事項を見直したい方は、組み込みLinuxとはをご覧ください。
なぜLinuxは組み込みシステムのOSとして人気が高いのでしょう?組み込みアプリケーション用Linuxの公式ガイドは、ホワイトペーパーまたはウェビナーフォームでご覧ください。
Ubuntu Core、Snap、Snapcraftは、オープンソースのセキュアな組み込みLinux開発と展開のプラットフォームとなります。
YoctoとUbuntu Coreの詳細な比較に関心のある方は、組み込みLinuxプロジェクトにYoctoとUbuntu Coreのどちらを使用すべきかのウェビナーをご覧ください。
質問、ご意見、共有したいニュースのある方は、IoT Discourseにご参加ください。IoT(モノのインターネット)や緊密に接続した組み込みデバイスに関して何でも話し合っていただけます。
ニュースレターのサインアップ
関連記事
改変不可のLinuxデスクトップベースとしてのUbuntu Core
Canonicalは、IoT向けの完全にコンテナ化されたプラットフォームを構築するため、2014年にUbuntu Coreの開発を始めました。Ubuntu Coreでは、DockerやLXCが構築されるカーネルコンテナ技術と同じ技術を用いて、明確に定義されたアップグレードとロールバックにより、システムのすべてのコンポーネントを安全なサンドボックスに配置します。このような形にした理由は、自律的に接続されたIoT(モノのインターネット)デバイスが人間の介入を必要とせずに適用可能な更新を受信し、エッジでセキュリティとビジネスニーズに対応できるようにするためです。Ubuntu Coreの極めて小さなフットプリントは、厳しい環境でも信頼でき、常に更新される、安全で安定したオペレーテ […]
組み込みLinux:YoctoとUbuntu Coreの比較
小型フォームファクタのコンピューティングという新しい波には各企業が注目しており、これを活用すべく、エッジコンピューティングへと舵を切り始めています。そのため、世界各国のデバイスメーカーが開発にしのぎを削っているのがインダストリー4.0の可能性を実現する組み込み型コネクテッドデバイスですが、その多くは、データ主導のバリューチェーン最適化や予測型のメンテナンス、新しいデジタルカスタマーエクスペリエンスの実現を目指したものです。 しかし、現場で使用するデバイスを常に最新の状態に保つためには、専任のカーネルエンジニアリングチームにフルタイムで業務にあたってもらう必要があります。また、デバイスメーカーがデプロイ戦略を選定する際は、独自の組み込みLinuxディストリビューションを展開 […]
未来のAIがもたらすもの
Artificial Intelligence Appreciation Dayに注目すべき8つのトレンド 米国で7月16日は「Artificial Intelligence Appreciation Day」(人工知能感謝の日)です。20世紀にSF小説でよく扱われたアンドロイドなどのテーマや発明は、今や科学的にほぼ現実のものとなりました。1950年代、人工知能はアルゴリズム開発などの大きな成功と、計算能力の制約による大きな失敗の両方を経験しました。そして今日、AIは今年最大のトピックとなりそうです。ChatGPTは1週間足らずで10億ユーザーを達成し、企業はAIへの投資を増額しています。では、AIの未来はどうなるのでしょう?以下のトレンドが今後を垣間見せてくれます。 A […]