組み込み業界が携帯電話から自動車にシフトし始めたのはなぜか?組み込みシステムって何?【後編】

前回に続き、組み込みシステムの分類をソフトウェア面から考察するとともに、現在の組み込みシステムのトレンドと今後の展望について述べる。

2008年08月12日 08時00分 公開
[大原雄介]

 「意外と知らない組み込みシステムの分類方法」では、ハードウェア構成から見た組み込み(Embedded)システムは明確な区別が難しく、使用方法から判断するのが分かりやすいという話をした。では、ソフトウェアから見た場合、組み込みシステムをほかのシステムと明確に区別することはできるだろうか?

明確な分類ができない理由は開発コストに関係する

 一言でいえば、ソフトウェア面から見ても、組み込みシステムを一般的なシステムと明確に分けることは難しい。一般的なシステムとほとんど変わらないことも珍しくない。なぜなのか? 具体的な例を挙げて説明しよう。

 情報掲示板(電車のホームにある行き先および発車時刻を示す電光掲示板や、空港におけるフライトの発着案内など)で、Windowsのエラーメッセージが出ているのを見たことはないだろうか。中には、ブルースクリーンを表示するものもある。日常的に見掛ける機器やシステムにWindowsがそのまま搭載されているのは珍しくない。Microsoft Visual Basic(VB)などでプログラムが書き込まれているものもざらにある。

 なぜ個別のプログラムを組むのではなく、PCレベルのものを使うのか? その一番の要因は開発コストにある。ハードウェアとインフラは最もコモディティー化しているものを使うのがコスト削減につながるためだ。

 最近では、Javaが共通言語の1つになってきたため多少動向が変わってきているが、ほんの数年前まではコストを抑える1つの方法として、デスクトップアプリケーションをVBで記述するのが一般的だった。例えば、前述した電光掲示板の動作は、定期的に表示すべきデータを取得し、そのデータを画面出力するのみとなる。特に複雑な動作はないため、アプリケーション開発に掛かるコストさえ抑えればトータルコストも安くなる。そのため、「PC+Windows」の組み合わせで十分に機能を満たせる場合は、特定用途向けのプログラムをわざわざ組まずに済ませることになる。

PCを使う場合、選ぶOSでコストは変わる

 もちろん、VBを使うためにはWindowsプラットフォームを使う必要があり、Windowsのライセンスの購入が必要だ。しかし、たとえWindowsのライセンスで3万~4万円のコストが掛かっても、開発期間を1週間短縮できるのなら、コスト全体としては多大な釣りが来る計算となる。一般的に量産効果が期待できないアプリケーションを作る場合、単価は多少上がっても許容される。むしろ開発コストや開発期間を抑える方が重要となる。

 ただし、「PC+Windows」の組み合わせはPCを使う場合がメインである。これ以上のクラスのもの、例えばPCサーバクラスの通信機器などになると、性能に対する要求もクリティカルになってくるため、OSに関してもチューニングしやすいものが好まれる。結果、LinuxUNIX、リアルタイムOS(RTOS)を使うケースが非常に多い。もっと上、つまりメインフレームクラスのシステムになると、そのハードウェアを提供するベンダーがOSやミドルウェアを同時に提供し、これを使う形になるのが一般的だ。

 「PC+Linux」の組み合わせは、「PC+Windows」の組み合わせの次に多いと思われる。Windowsより数が少ないのは、Linuxでシステムを組むには相応の知識を持つエンジニアを継続的に確保していく必要があるためだ。やはり、高いスキルがなくても使いこなしやすいWindowsの方が一般的といえるだろう。

OSすら必要ないシステムは「組み込み」と区別できる?

 ではごく小規模なシステムはどうだろう。こちらは千差万別だ。携帯電話のように、ある程度の機能を搭載しているものにはOSがあり、OS上でアプリケーションソフトウェアが動く。しかし、小規模のものでWindowsが使われることはそれほど多くない。マイクロソフトは、組み込み向けRTOS「Windows Embedded CE」を提供しているが、このクラスになるとどのみちハードウェアはアプリケーションに合わせて作る(つまり、PCの流用はない)。そのため、結局はOSとアプリケーションを全部自分で用意することになるパターンが多い。しかも、OSを実装しない場合も少なくない。例えば、車のドアミラーの制御にはいちいちOSを入れる必要がない。

 例に挙げたドアミラーの構成を見てみよう。運転席でミラーの制御ノブを操作すると、その操作結果はLIN(Local Interconnect Network)というバスを経由し、ドアミラー制御システムに「ワンクリック分、上に」「ワンクリック分、左に」などといったコマンドが届く。これをLINインタフェース(I/F)経由で取り込んだCPUは、フラッシュメモリに内蔵された「ワンクリック分上=X軸モーターを右回転2度分」のように指示を解釈し、それに相当するだけの駆動パルスをデジタル-アナログ(D/A)変換経由でX軸モーターに送る。これを受けてモーターは2度回転し、少し上を映すようになるという仕組みだ。

photo 図1:LINを経由して指令が伝えられる仕組みになっている。タスク自体は、一方向で単純な流れだ

 この程度のシステムの場合、OSを使うメリットはない。OSが役に立つのは以下のような場合だ。

  • 複数のタスクを並行して実施する
  • メモリ管理やデバイス管理などをアプリケーションから切り離して行う

 単純なシステムでは、どちらのメリットも享受できない。むしろOSを動かすことで余分なCPUパワーやメモリが必要になり、OS自身のコストも掛かる。Linuxなど無償のOSでもメンテナンスコストが掛かるし、VxWorksなどの有償RTOSを使う場合はそのライセンス料も必要だ。従って、こうしたものにOSを搭載する、といった動きには今のところなっていない。

会員登録(無料)が必要です

関連ホワイトペーパー

組み込み | Visual Basic | CAD | フラッシュメモリ


Copyright © ITmedia, Inc. All Rights Reserved.

新着ホワイトペーパー

事例 サイボウズ株式会社

顧客・案件情報の管理でよくある課題、属人化や二重管理を防ぐための方法とは?

顧客・案件情報の管理は属人化や二重管理が起こりやすく、機会損失につながることも多い。こうした課題の解決策として注目されているのが、ノーコードで業務アプリを作成できるクラウドサービスだ。事例を交えてその効果を紹介する。

プレミアムコンテンツ アイティメディア株式会社

「SRE」と「DevOps」の違いは? 業務分担と連携のヒント

迅速な開発とセキュリティ確保の両立は、アプリケーションの運用管理で重要だ。そのための手法である「SRE」「DevOps」はそれぞれどう異なり、どの場面で連携すべきなのか。

製品資料 ServiceNow Japan合同会社

生成AIで「ローコード開発」を強化するための4つの方法

ビジネスに生成AIを利用するのが当たり前になりつつある中、ローコード開発への活用を模索している組織も少なくない。開発者不足の解消や開発コストの削減など、さまざまな問題を解消するために、生成AIをどう活用すればよいのか。

製品資料 ServiceNow Japan合同会社

「ローコード開発」実践のヒント:AI主導のイノベーションに向けた4つの戦略

急速に変化する顧客ニーズに応えるような適切な製品を継続的に提供するためには、より多くのアプリを生み出す必要があるが、そのための開発者が不足している。そこで注目されているのが、生成AIやローコード開発プラットフォームだ。

事例 Twilio Japan合同会社

恋活マッチングアプリの“安心”を自社開発で確保した、タップルの取り組み

恋活マッチングアプリを運営するタップルは、自社開発のビデオチャットをアプリに搭載することで、顧客が安心してサービスを利用できる仕組みを構築している。スピード感やカスタマイズ性を重視して開発した同社の取り組みを紹介する。

From Informa TechTarget

お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。

ITmedia マーケティング新着記事

news103.jpg

「AR」でMetaに勝てる? SnapのCEO、エヴァン・シュピーゲル氏はこう語った
SnapのCEO、エヴァン・シュピーゲル氏が最近、動画インタビューに立て続けに登場している...

news085.jpg

SEOに欠かせない「インデックス」について徹底解説【初心者必見】
今回は、SEOにおける「インデックス」について、わかりやすく解説します。

news090.jpg

マーケ担当者はなぜ「広報」を誤解するのか?
「マーケティング」と「広報」活動は似て非なるもの。この連載では2つの業務を兼務する人...