組み込みシステムって何?【後編】組み込み業界が携帯電話から自動車にシフトし始めたのはなぜか?前回に続き、組み込みシステムの分類をソフトウェア面から考察するとともに、現在の組み込みシステムのトレンドと今後の展望について述べる。});「意外と知らない組み込みシステムの分類方法」では、ハードウェア構成から見た組み込み(Embedded)システムは明確な区別が難しく、使用方法から判断するのが分かりやすいという話をした。ソフトウェアから見た場合、組み込みシステムをほかのシステムと明確に区別することはできるだろうか?明確な分類ができない理由は開発コストに関係する一言でいえば、ソフトウェア面から見ても、組み込みシステムを一般的なシステムと明確に分けることは難しい。一般的なシステムとほとんど変わらないことも珍しくない。具体的な例を挙げて説明しよう。情報掲示板(電車のホームにある行き先および発車時刻を示す電光掲示板や、空港におけるフライトの発着案内など)で、Windowsのエラーメッセージが出ているのを見たことはないだろうか。中には、ブルースクリーンを表示するものもある。日常的に見掛ける機器やシステムにWindowsがそのまま搭載されているのは珍しくない。Basic(VB)などでプログラムが書き込まれているものもざらにある。その一番の要因は開発コストにある。ハードウェアとインフラは最もコモディティー化しているものを使うのがコスト削減につながるためだ。最近では、Javaが共通言語の1つになってきたため多少動向が変わってきているが、ほんの数年前まではコストを抑える1つの方法として、デスクトップアプリケーションをVBで記述するのが一般的だった。前述した電光掲示板の動作は、定期的に表示すべきデータを取得し、そのデータを画面出力するのみとなる。複雑な動作はないため、アプリケーション開発に掛かるコストさえ抑えればトータルコストも安くなる。そのため、「PC+Windows」の組み合わせで十分に機能を満たせる場合は、特定用途向けのプログラムをわざわざ組まずに済ませることになる。PCを使う場合、選ぶOSでコストは変わるもちろん、VBを使うためにはWindowsプラットフォームを使う必要があり、Windowsのライセンスの購入が必要だ。Windowsのライセンスで3万〜4万円のコストが掛かっても、開発期間を1週間短縮できるのなら、コスト全体としては多大な釣りが来る計算となる。一般的に量産効果が期待できないアプリケーションを作る場合、単価は多少上がっても許容される。開発コストや開発期間を抑える方が重要となる。「PC+Windows」の組み合わせはPCを使う場合がメインである。これ以上のクラスのもの、例えばPCサーバクラスの通信機器などになると、性能に対する要求もクリティカルになってくるため、OSに関してもチューニングしやすいものが好まれる。結果、LinuxやUNIX、リアルタイムOS(RTOS)を使うケースが非常に多い。上、つまりメインフレームクラスのシステムになると、そのハードウェアを提供するベンダーがOSやミドルウェアを同時に提供し、これを使う形になるのが一般的だ。「PC+Linux」の組み合わせは、「PC+Windows」の組み合わせの次に多いと思われる。Windowsより数が少ないのは、Linuxでシステムを組むには相応の知識を持つエンジニアを継続的に確保していく必要があるためだ。高いスキルがなくても使いこなしやすいWindowsの方が一般的といえるだろう。OSすら必要ないシステムは「組み込み」と区別できる?ではごく小規模なシステムはどうだろう。携帯電話のように、ある程度の機能を搭載しているものにはOSがあり、OS上でアプリケーションソフトウェアが動く。小規模のものでWindowsが使われることはそれほど多くない。CE」を提供しているが、このクラスになるとどのみちハードウェアはアプリケーションに合わせて作る(つまり、PCの流用はない)。そのため、結局はOSとアプリケーションを全部自分で用意することになるパターンが多い。OSを実装しない場合も少なくない。車のドアミラーの制御にはいちいちOSを入れる必要がない。例に挙げたドアミラーの構成を見てみよう。Network)というバスを経由し、ドアミラー制御システムに「ワンクリック分、上に」「ワンクリック分、左に」などといったコマンドが届く。これをLINインタフェース(I/F)経由で取り込んだCPUは、フラッシュメモリに内蔵された「ワンクリック分上=X軸モーターを右回転2度分」のように指示を解釈し、それに相当するだけの駆動パルスをデジタル−アナログ(D/A)変換経由でX軸モーターに送る。これを受けてモーターは2度回転し、少し上を映すようになるという仕組みだ。図1:LINを経由して指令が伝えられる仕組みになっている。タスク自体は、一方向で単純な流れだこの程度のシステムの場合、OSを使うメリットはない。OSが役に立つのは以下のような場合だ。複数のタスクを並行して実施するメモリ管理やデバイス管理などをアプリケーションから切り離して行う単純なシステムでは、どちらのメリットも享受できない。OSを動かすことで余分なCPUパワーやメモリが必要になり、OS自身のコストも掛かる。Linuxなど無償のOSでもメンテナンスコストが掛かるし、VxWorksなどの有償RTOSを使う場合はそのライセンス料も必要だ。従って、こうしたものにOSを搭載する、といった動きには今のところなっていない。設定を有効にする必要があります。マーケティング新着記事Accenture調査から見えた2020年の5つのテクノロジートレンド「テック・クラッシュ」を乗り切るにはどうすればいいのか。AccentureのCEOおよびCTOの記...電話サポートの保留音、世界の主流はクラシック——Genesys調査13カ国で実施した電話サポートの保留音に関する調査結果です。「フードロス」「廃プラスチック」に高い関心——CCC調査エコ・環境問題への関心や関連トピックスへの認知度などを調査しています。製造IT流通IT医療ITTechTargetサービスホワイトペーパーホワイトペーパーキーワードホワイトペーパー提供企業一覧RSS一覧プレゼント&モニターITmediaはアイティメディア株式会社の登録商標です。