組み込みアプリケーション用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に関するCTO向けガイド
リアルタイムシステムおよびそのユースケースと仕組みを理解する 最近の予測によると、2025年には世界のデータの30%近くがリアルタイム処理を必要とします。制御システム、産業用エッジサーバー、PLC、ロボット、ドローンなどを駆動する産業用PCとリアルタイム機能への需要は高まる一方です。ワークロードによって必要なリアルタイムパフォーマンスやサイクルタイムは異なりますが、リアルタイムコンピューティングは今後もますます普及するというのがアナリストの見解です。 また、ソフトウェアがハードウェアデバイスや周辺機器を綿密にサポートすることで、Linuxカーネルを介したリアルタイムコンピューティングが活躍しています。カーネルにリアルタイム機能を持たせる多くのアプローチの中で、PREEMP […]
リアルタイムOSはあなたのビジネスに適していますか?
自動化は社会のほぼすべての分野に広がり、自動車や通信から工業生産まで、さまざまな業界でリアルタイムに対応したオペレーティングシステム(OS)が重要になってきています。リアルタイムオペレーティングシステム(RTOS)は、正確で確定的な応答を保証し、安全性とパフォーマンスに不可欠な厳しいタイミング要件を満たします。しかし、ZephyrやFreeRTOSのような従来のRTOSはビジネスにとって正しい選択肢なのでしょうか? それとも、リアルタイム機能を備えたLinuxソリューションの方がもっとニーズに合っているのでしょうか? Canonicalの最新のホワイトペーパーではこれらの疑問について解説します。このブログではその要点を説明しましょう。 システムを「リアルタイム」にするもの […]
IoTデバイス管理とは
IoTデバイス管理とは、IoTデバイスのデプロイ、モニター、メンテナンスに使用するプロセスや手順を意味します。企業がIoTの運用規模を拡大するとともに、しっかりしたデバイス管理アプローチでデバイス群を安全かつ効率的に運用することが必須となります。 世界中でコネクテッドデバイスが普及し(予測では2024年には188億台にのぼる)、IoTデバイス管理が複雑化しています。そして悪意ある者もそこに目をつけています。2023年には、平均して組織あたり1週間に60件ものIoT攻撃がありました。これはデバイス自体、そしてデバイスと他のデバイスや管理システムとの接続が、大きな攻撃対象領域を作るためです。 このブログ記事では、可視性、相互運用性、セキュリティという3つの目的に重点を置き、I […]