採用情報 お問い合わせ

BLOG

IoT 技術コラム

2025 年 06 月 26 日

組込み Linux 選択のポイント ~第 1 回:組込み機器と Linux~

はじめに

本記事では、組込み機器で利用されている OS (Operating System) と、その中で最も多く利用されている Linux ※1 の特長について紹介します。

なお、本記事では、組込み機器は「ある用途に特化した機能を提供する機器」と定義します。また、IoT (Internet of Things) 機器も含めて、組込み機器と表現しています。

※1
The Eclipse Foundation による調査結果を参考にしています。詳細は後述します。

組込み OS とは何か?

私たちの身の回りには、ありとあらゆる組込み機器があります。

例えば、テレビ、デジタルビデオカメラ、電子レンジです。これらの組込み機器では、「特化した機能」をハードウェアとソフトウェアを組み合わせることで実現しています。このソフトウェアを動かすために必要となるのが、組込み OS です。

組込み OS の種類

では、組込み OS にはどのようなものがあるのでしょうか?

RTOS (Real-Time Operating System)

CPU や RAM などのハードウェアの性能が限られた機器において、少ないリソースでリアルタイムに機器を制御することに特化した OS です。RTOS の一例として、TRON、FreeRTOS、VxWorks などが有名です。

近年では、RTOS のリアルタイム性と、後述する Linux の高機能性 (ネットワーク制御、画像処理など) を組み合わせて用いることもあります。

参考 :

Windows

PC やサーバでお馴染みの、Microsoft が提供する OS です。組込み機器向けには Windows for IoT として提供されており、Windows 11 を元にした Windows IoT Enterprise、Windows Server を元にした Windows Server IoT が提供されています。

PC やサーバ向けの Windows とは異なり、アップデート時に新規機能の追加は行われず、不具合や脆弱性の修正のみが行われます。

Android

スマートフォンでお馴染みの、Google が提供する OS です。スマートフォンだけではなく、カーナビゲーションや物流業界などで導入されているハンディターミナルにも搭載されています。

他の OS と比べ、Google のサービス (Google Play ストア、Google Maps、Gmail など) との連携が容易に行えます。

Linux

PC や サーバでは、Red Hat Enterprise Linux、SUSE Linux Enterprise Server、Ubuntu、Debian、そしてサイバートラストが提供する AlmaLinux や MIRACLE LINUX などの様々なディストリビューションが利用されています。

一方、組込み機器では、Ubutun Core、Poky (Yocto Project)、そしてサイバートラストが提供する EMLinux など、PC やサーバとは異なるディストリビューションが利用されています。また、組込み機器向けの Linux は、「組込み Linux」と呼ばれています。

Linux の特長

上述のように、組込み機器で利用されている OS には、RTOS、Windows、Android、Linux などがあります。

The Eclipse Foundation の調査「2024 IoT & Embedded Developer Survey Report」によると、組込み機器の OS として、多くの開発者たちが Linux を利用していると回答しています。

そこで本記事では、組込み機器にて多く利用されている Linux の特長を 3 つ紹介したいと思います。

特長 1: 利用可能なソフトウェアが豊富

Linux の特長としてまず挙げられるのが、利用可能なソフトウェアが豊富であることです。

ハードウェアの制御、ネットワークの制御、ファイルの制御など、OS として必要となる機能を実現するためのソフトウェアはもちろん、OSS 鳥瞰図にあるような多種多様なソフトウェアを利用することが可能です。

例えば、AI (Aritifical Inteligence) の手法であるディープラーニング (深層学習) の機能を実装したい場合、Tensorflow、Keras、PyTorch などの強力なフレームワークを利用することで開発をすぐに始めることができます。

また、ソフトウェアの組み合わせを変更することにより、同じ OS でありながら、多種多様な組込み機器の開発に利用することが可能です。

特長 2: 開発エンジニアの数が多い

「伽藍とバザール (原題 : The Cathedral and the Bazaar)」という論文に、以下の名言があります。

和訳 : 目玉の数さえ十分あれば、どんなバグも深刻ではない
原文 : Given enough eyeballs, all bugs are shallow

ちょっと生々しい表現ですが、「目玉の数」はエンジニアの数を表しています。例えば、Linux kernel 6.12 の場合、2,000 名以上ものエンジニアが Linux kernel の開発に携わっています。

また、Linux kernel の開発者である、Greg Kroah-Hartman の資料には、「不具合修正の平均日数はマイナス 100 日 (原文 : Average fix date, -100 days)」という数字が記載されています。さらに、2024 年より Linux カーネルコミュニティから修正した脆弱性情報がアナウンスされるようになりました。これは、多くの不具合が公開される前に修正されていることを示しています。私たちが不具合を気にする前に、多くの開発エンジニアによって不具合が修正されているのです。

特長 3: 豊富なナレッジ

Linux は Open Source Software (OSS) で構成された OS であり、世界中の開発者やユーザーがそのソースコードにアクセスし、改良やカスタマイズを行っています。Linux に関する情報は、公式ドキュメントの他、コミュニティサイト、有志によるブログや書籍など多岐にわたり公開されています。

また、Raspberry Pi のような Single Board Computer (SBC) の場合、標準環境が Linux となっていることが多くあります。Raspberry Pi のコミュニティサイトでは、多くのユーザーによって様々な情報が共有されており、もしインストールやカスタマイズなどで困ったことがあったとしても、コミュニティサイト内にて解決方法を容易に見つけることができます。

さいごに

本記事では、組込み OS と、多くの組込み機器で利用されている Linux の特長について紹介しました。

次回の記事では、商用機器向け組込み Linux の選定ポイントについて紹介します。

本記事に関連するリンク