デジタルで豊かな社会の実現を目指す東芝デジタルソリューションズグループの
最新のデジタル技術とソリューションをお届けします。

家電製品から社会インフラ向けの機器まで、産業領域においてLinuxを適用する範囲は急速に広がりました。ただその道のりは、決して平坦なものではありませんでした。東芝では長年にわたり、省電力や起動時間の短縮、リアルタイム制御などのさまざまな難題に対峙し、それらを克服しながら新しい価値を創出することで Linuxの進化に貢献してきました。現在では、長期保守や高信頼性、さらにはサイバーレジリエンス対応といった新たな課題も浮上し、技術者たちは日々革新を追求しています。この連載では、東芝が直面した数々の困難と、それを乗り越えるための取り組みを4回にわたってひも解いていきます。
第1回では、さまざまな機器への適用におけるLinuxの課題と、それに東芝がどのように対応してきたのか、その足跡をたどります。


組込みLinuxとは?


Linuxは、1991年に誕生したオープンソースのオペレーティングシステム(OS)です。世界中の技術者が改良を加え続け、サーバーやパソコンで利用するOSとして普及してきました。一方で、家電製品や社会インフラ向けの機器などに用いられる組込みシステムでは、従来、リアルタイムOS(RTOS)が主流でした。しかし1990年代後半からは、オープン性、柔軟性、そして拡張性が評価されたLinuxが、産業界においても注目されます。この産業領域での利用を目的として、システム全体を特定の機能要件やハードウェア環境にあわせてカスタマイズしたLinuxを、「組込みLinux」といいます。一般的なサーバーやパソコンで利用されるLinuxと異なり、組込みLinuxには次のような性能が求められます。

 

  1. 限られたリソースでの動作:CPUの性能やメモリ、ストレージが限られた環境でも動作すること
  2. 省電力:バッテリー駆動時間や待機電力が重視される製品で、電力消費量を最小化すること
  3. 起動の高速化:電源を入れたとき、システムを素早く利用できること
  4. リアルタイム性能:決められた時間内に、確実に処理を完了すること

 

組込みLinuxは、1990年代後半からルーターなどのネットワーク機器や、デジタルテレビ、携帯電話を中心に適用が進みましたが、その当初は、これらの性能が十分に実現できていない状況でした。東芝は、2003年にCE Linux Forum(2010年にThe Linux Foundationに合流し、以降2023年までCore Embedded Linux Projectとして活動)に加入し、コミュニティーとの連携した取り組みやリーダーシップの発揮によって、各性能の実現、すなわちLinuxの進化に多くの貢献をしてきました。

ここからは、組込みLinuxの適用における一般的な課題と、東芝が実際に直面した課題、その解決策を紹介していきます。


主な課題とその解決策(初期の課題:家電製品への適用)


前述したように、組込みLinuxを適用するにあたっては、限られたリソースでの動作や省電力、起動の高速化、リアルタイム性能といった各性能の実現に課題がありました。しかもこれらの性能は、組込みLinuxを適用する機器とその用途にあわせた形で実現しなければなりません。つまり、解は作るモノの数だけ存在するのです。こうした側面は、組込みLinuxを開発する技術者にとって、大変なことであり、面白いことでもあります。各性能の実現にあたっての課題について簡単に触れるとともに、東芝がどのように取り組んできたのかを見ていきます。

 

■ 省電力性能の課題とそれを高める取り組み

組込みシステムにおいて、省電力の性能は欠かせない要件です。特に、常時電源に接続された機器では、待機時の消費電力を最小限に抑えることが重要視されます。例えばデジタルテレビでは、コンセントを差し込んでからテレビ本体の電源を入れたときと、元々コンセントをつないだ状態でリモコンのスイッチなどにより電源を入れたときとでは、テレビが見られるようになるまでの時間が異なることがあります。

これは、最初に起動したときテレビの機能を利用できる状態にし、その後、リモコンなどで電源をOFFにされたらテレビを「サスペンド状態」にして、次の電源ONのときにはその状態から復帰しているからです(図1)。サスペンド状態とは、余計な電気を使わないように、テレビを構成するさまざまなデバイスの電源を落として、消費電力を抑えた状態のことです。この状態を保つことで省電力を実現するとともに、電源を再度入れたときの復帰時間を短縮しています。

こうした省電力の機能を組込みシステムに適用した当初、Linuxには省電力に関する技術がまだ成熟しておらず、その適用には困難を極めました。例えば、数千回に1回、ランダムなタイミングでサスペンド状態から復帰できなくなるという問題に直面し、これを解決するまでにはかなりの時間を要しました。電源ボタンを押したらテレビが見られるという利用者のあたりまえの実現に向けて、多くの確認と改良が行われた結果として、現在は消費電力を抑えながら気軽に電源のONとOFFができるようになっています。

 

■ 起動時間短縮への取り組みと各要件に応じた短縮手法の開発

通電を開始してから機器が使用できるまでの時間の短縮も、重要な課題です。しかし組込みLinuxの適用が始まった当時、チューニングもなくそのまま適用した場合は、起動に数十秒から数分かかることが一般的でした。

起動時間に対する要件は、製品ごとに異なります。高速であればあるほどよい場合もあれば、必要な時間内に確実に起動を完了させることが求められることもあり、それぞれの要件に合わせた起動時間の短縮が必要です。東芝では、各要件に対応して起動時間を短縮するさまざまな手法を開発してきました。例えば、次のような手法があります。

 

  • 起動時に読み込むデータ量を削減する方法
  • OSを初期化するプロセスを見直して並列で起動する方法
  • 起動状態のスナップショット(ハイバネーションイメージ)を作成し、それらを読み込む方法(スナップショットブート)
  • 最低限の機能を最初に利用可能にし、ほかの機能をバックグランドで段階的に利用可能にする方法

 

製品に適用する際には、こうした手法をハードウェアや用途に応じて使い分けることで、製品ごとに適切な起動時間を実現します。実際に、スナップショットを用いて高速化した起動を、さらに高速化した例もあります(図2)。通常の起動では28秒かかっていた起動時間を、スナップショットブートに置き換えることで11秒に短縮し、さらにはスナップショットブートで実行する処理内容を最適化して不要な処理をスキップしたことで実現した3秒の短縮により、10秒以内を達成しました。


社会インフラへの適用と新たな課題(次なる挑戦:社会インフラへの展開)


東芝では2010年頃から、組込みLinuxを社会インフラ向けの機器にも適用し始めました。筆者が東芝が扱う社会インフラ関連の製品の中で最初に組込みLinuxを適用したのは、鉄道の自動改札機※1です。その後は、交通や電力などで用いる産業用コントローラなどの機器への適用も進んでいます※2。社会インフラは、私たちの安定した生活を支える基盤です。その重要性から、それらを支える機器に対しては、より厳密な性能や信頼性、さらには長期にわたる継続性といった新たな要件が浮上します。

※1:参考文献 東芝レビュー「信頼性と拡張性を備えた新型自動改札機EG-5000」
https://www.global.toshiba/content/dam/toshiba/migration/corp/techReviewAssets/tech/review/2010/10/65_10pdf/f05.pdf (PDF形式)(422KB)
※2:参考文献 東芝レビュー「運用性と環境の改善を実現する次世代コントローラTOSMAP-DS/LX」
https://www.global.toshiba/content/dam/toshiba/migration/corp/techReviewAssets/tech/review/2013/11/68_11pdf/a08.pdf (PDF形式)(312KB)

 

■ リアルタイム制御への挑戦

ある処理を決められた時間内に完了することを保証する制御処理を「リアルタイム制御」、そのための性能を「リアルタイム性能」といいます。リアルタイム性能が高いと述べたとき、「瞬時に処理できる」と認識されることが多いのですが、正しくは「定められた時間内に処理を終わらせられるための性能を満たしている」ことであり、求められる時間は製品によって異なります。リアルタイム制御は、産業用機器などの制御システムにおいて非常に重要な要件です。例えば、鉄道の自動改札機を通過する場合を想像してください。利用者がICカードをタッチしてから自動改札機を通過するまでの間に、料金の計算や通過可否の判断をしてドアを開ける処理を済ませないと、利用者が滞留し混乱を招いてしまいます。

つまり、「これだけの処理をここまでに終わらせる」という目的を、製品ごとに異なる要件に合わせて達成する必要があるのです。そこで東芝では、Linuxのリアルタイム性能を限界まで引き出し、各製品で目標とされる性能の達成に貢献してきました。リアルタイム制御への取り組みに関しては、第2回で詳しく説明します。

 

■ 信頼性の確保と検証

社会インフラにおいては、信頼性の確保も重要な課題です。私たちの安定した生活に直結している社会インフラとして稼働するシステムの多くは、停止したり中断したりすること、いわゆる「ダウンタイム」が許されません。そのため、ハードウェアとソフトウェアの両方の特性を駆使して、信頼性を確保します。例えば、多重化したシステムにおいて、異常時に正しくフェイルオーバーできるのかをテストすることがあります。そのほかにも、機器側はあらゆる異常に対応するため、リアルタイム性能のテストはもちろんのこと、異常を検知する機能や、急なリセットが発生した際のデータの信頼性など、さまざまなテストを実施します。

※フェイルオーバー:システムの一部が故障した際に、その機能を自動的に別のシステムやコンポーネントに引き継ぐ仕組み。

実際に、Linuxにおけるデータの信頼性をテストした結果は、図3のようになりました。Linuxでデータを保存する方法は、一つではありません。特性の異なるファイルシステムが、複数提供されています。これらの中から、ストレージの特性に適したファイルシステムを選択するために、電源を喪失した場合を想定したテストを行い、データの損失を評価しました。ファイルシステムの特性や設定によって、結果に大きな差が出ていることがわかります。

■ 長期保守の課題と解決に向けた社外活動

社会インフラに適用される組込みシステムには、10年や20年といった長期間にわたり運用できることが求められます。そのためそこに搭載されるソフトウェアに対しても、システムの運用年数に応じた保守を提供する必要があります。しかし、Linuxカーネルの一般的なサポート期間は、半年から5年程度と短いものです。そこで長期間にわたり安定した運用を保証し続けるために、セキュリティ上の脆弱性(ぜいじゃくせい)への対策やバグの修正を継続的に行い、システムの安全性と信頼性を維持しなければなりません。

長期保守の考え方に対する、世の中の情勢も変化しています。欧州では、サイバー攻撃やデジタル犯罪に対する組織の耐性と回復力を強化する「サイバーレジリエンス法(CRA法)」が、2024年10月に成立されました。2026年9月からは、順次対応が求められる状況にあります。こうした変化に対応するため東芝はシーメンスと共に、2016年に「Civil Infrastructure Platform(CIP)プロジェクト」というオープンソースのプロジェクトを立ち上げました。さまざまな企業とコラボレーションしながら、高い信頼性や長期保守が求められるシステム向けに、ソフトウェアスタックの開発と提供を行っています。10年以上の長期保守が可能なLinuxカーネルも、その一つです。CIPの活動については、第3回で詳しく紹介します。


まとめと今後の展望


今回は、組込みLinuxの製品適用における主要な課題と、それに対する東芝の取り組みを紹介しました。ここで取り上げた、省電力性能の向上、起動時間の短縮、リアルタイム制御の実現、そして長期保守と高信頼性の確保といった課題に対して、東芝は、現在も技術革新を続けています。またこれまでの成果は、社会インフラの未来を支える重要な基盤となっています。

次回は「リアルタイム制御」に焦点を当て、Linuxのリアルタイム性能を限界まで引き出すための技術的な詳細について掘り下げていきます。ぜひご期待ください。

小林 良岳(KOBAYASHI Yoshitake)

株式会社 東芝  デジタルイノベーションテクノロジーセンター 
先端ソフトウェア技術室  ゼネラルマネジャー 
Civil Infrastructure Platform Project Technical Steering Committee Chair 
TOPPERS Project 理事


入社後、組込みOSおよびOSSの技術開発と製品適用を広く推進。現在は、東芝グループのソフトウェア開発力強化に向けた技術開発のリードに加え、高信頼で長期運用が可能なOSSの実現を目指すCivil Infrastructure Platformプロジェクトの技術委員会長を担当。

  • この記事に掲載の、社名、部署名、役職名などは、2025年3月現在のものです。
  • この記事に記載されている社名および商品名、機能などの名称は、それぞれ各社が商標または登録商標として使用している場合があります。