必要とする多くの製品に用いられている。要求から専用に設計されるものが多いが、組み込み用途以外の既存の製品のダウンサイジング、もしくは既存の回路ないしコンポーネントを流用・組み立てを行い製品化しているものも近年増えてきている、これはコンピューターや各種電子回路の小型化と信頼性の向上により特定の組み込み用途の要求を満たしたためである。(たとえば動作可能状態の小型PCの基盤、PCとほぼ同じ働きをするPCI拡張ボード型コンピューター、シングルボードコンピュータ、又はワンボードの汎用マイコン回路などに専用に設計されたソフトウエアを導入して制御を必要とする機械に組み込み、制御回路として使う場合など)組み込みシステムが登場する以前の装置の制御は、制御理論に基づく伝達関数を用いたPID制御などにより主に電気・電子回路がもたらす現象的な電気量や、機械的な機構の組み合わせ等によって直接的に実現していた。命令の組み合わせ等が実現できるとともに、機能の追加や変更も容易に行うことができる。組み込みシステムの中でも、例えば、携帯電話やデジタル家電、自動車など多機能なシステムでは、複数のハードウェア、複数のソフトウェアを組み合わせたものとなり、多くの開発人員と開発期間を要し、大規模組み込みシステムなどと呼ばれることがある。近年におけるマイクロプロセッサの価格の低下、能力の向上などにより組込みシステム導入は広がっている。機能の追加や変更がソフトウェアを書き換えることで可能となるため、電気・電子回路の変更が最小限に押さえられ、コストもおさえられることなどから、広範囲の製品に搭載されるようになっている。定義[編集]コンピュータ用語辞典などでは、組み込みシステムは「特定の機能を実現するために機械や機器に組み込まれるコンピュータシステム」などといった説明がされている[2]。「特定の機能を実現するための必要十分条件を満たす、選択や交換の不可能なハードウェアとプログラム(ソフトウェア)で構成されるコンピュータシステム」[3]と定義されることもある。組み込みシステムの形態[編集]ハードウェアの構成は汎用のもの、独自のもの、両方を組み合わせたものがある。ソフトウェアも同様に、汎用のもの、独自のもの、両方を組み合わせたものがある。開発言語としてはC言語が用いられることが多いが、メモリ容量や実行速度等の制約が厳しい用途ではアセンブリ言語が用いられる。メモリ容量等の資源が十分に確保できるシステムではOSも搭載されているものも多い。ハードウェアとソフトウェアは別々に設計することもあるが、ハードウェアとソフトウェアの機能をお互いに考慮しながら設計する協調設計(コデザイン、co-design)と言う設計手法もある。沿革[編集]組み込みシステムが発達する以前の装置の制御は、アナログ回路、プログラム制御によらないデジタル回路、からくり的な機械的機構といったハードウェアにより構成していたが、新たな機能を追加したり変更したりする場合に、電子回路や機構そのものを変更する必要があり、コストと時間がかかるという問題があった。1980年代以降のマイクロプロセッサの発達により、コンピュータを用いた制御方式を導入することで、電子機器の回路は変更せず、ソフトウェアの部分のみを変更することで機能の追加が可能になり、機能追加に必要なコストが削減された。具体例[編集]家庭用、産業用問わず電子制御を必要とする製品において広く用いられている。POSやキオスクに使われる[4]。汎用システムとの比較[編集]組み込みシステムは、最終製品が多岐に亘るため、汎用的なコンピュータに比べて非常に数と種類が多い。ソフトウェアだけでなくハードウェアも専用のものを開発することが多い。そのハードウェアに対応したデバイスドライバを作る必要もある。機械の制御を行う場合には特に、汎用システムとは異なり、リアルタイム制御が重要になる。大量生産される製品の場合にはコストが非常に重要となるので、必要最低限のメモリと、安価なCPUで動作可能にする必要がある。小規模なシステムでは1チップマイコンを利用することが多い。専用のハードウェアに専用のソフトウェアが搭載されて製品となるものが多いので、そのテスト工程は、ハードウェア、ソフトウェアの両方にまたがる検証が重要になる。ハードウェア[編集]組み込みシステムを搭載した機器のハードウェアの構成パターンとしては以下のようなものがある[5]。独自のハードウェアのみで機器を構成する。汎用のマイコンボードと独自のハードウェアを組み合わせて機器を構成する。汎用のハードウェアのみで構成する。製品の目的や、製品が販売されるマーケットの性質に応じて、上記からパターンが選択される[6]。具体的には以下のような要素を考慮してハードウェアの構成が検討される。形状、サイズ量産品か否か形状が特殊であったり、サイズが特別に小さい製品などでは、汎用のハードウェアを内蔵することができないことがあり、その場合は専用のハードを新たに開発しなければならなくなる。)がかかる、という事実があり、量産品の場合は全体の大きなコストの中にそれを含めてしまえば良いのだが、少量生産品の場合はそうできないというハードルがある、ということである。厳密で適切な選択となると、原価計算も踏まえて行う必要がでてくる[7]。組み込み向けCPU[編集]以下に主なものを挙げる。AVRH8/300SuperHPowerPCM16CR8C/TinyMIPSアーキテクチャARMアーキテクチャソフトウェア[編集]「独自に開発したソフトウェアだけで構成する」方法と、「汎用ソフトウェアと独自ソフトウェアを組み合わせて構成する」方法が存在する[8]。ソフトウェアはC言語で記述されることが多い。32ビット以上のマイコンなど、比較的ハードウェア資源が豊富な環境ではC++やJavaが使用されることもある一方で、4ビットマイコンなどの資源が貧弱な環境や、逆に他言語では間に合わないような極めて高速な処理を求められる場面では、現在でもアセンブリ言語の使用が必須である。(ソフトウェア開発全般の話で)最近では開発にUMLといったオブジェクト指向の手法が取り入れられるようになっている。組み込みシステム開発においては、機能で分類したクラスでプログラムを組み立てるのではなく、信頼性が保証されたモジュールで組み立てるのが普通である。デバッグは、ICEと呼ばれる機器を用いてパソコンをCPUに接続してリモートで行う。近年では、ICEを使わずJTAGエミュレータやROMエミュレータなどのエミュレータや、パソコン上でCPUの機能をシミュレートするシミュレータも使用される。必要になり、多大な費用がかかった。近年はソフトウェア容量が大きくなり、機能ごとに複数のソフトウェアを搭載する組み込み機器も少なくない。携帯電話、デジタルオーディオプレーヤー、HDDレコーダなどのデジタル家電のファームウェア、パソコン周辺機器のファームウェアにも組み込み用途向けOSを搭載する機種が多い。機能は多様化したが、不具合対処のリスクも高まった。このため製品にフラッシュメモリを採用し、出荷後にユーザサイドで書き換え可能とすることで、以前と比べメーカ側の負担は軽微になった。システム解析の複雑さから不具合の発覚から修正までにかなりの時間を要することがあるようにもなり、市場に大きな影響を及ぼすことには変わりはない。ソフトウェアの書き換えには様々な手段が用いられており、修正ソフトウェアの入ったリムーバブルメディアをユーザ側で取り込ませる方法、放送電波を経由させて配信する方法などがあるが、インターネットに直接アクセスして自動で修正ソフトウェアにアップデートする機能をもった機器が増えてきている。パーソナルコンピュータ本体のBIOSは、マザーボードの機種ごとに組み込まれた組み込みシステムソフトウェアであり、主にマザーボード上のチップセットに対してのファームウェアである。BIOS設定画面でユーザが設定した項目は、大容量コンデンサやボタン電池などでバックアップ(これらはCMOSバックアップ電池と呼ばれる)されたROMに保存されている。組み込みに用いられるOSとしては、日本においてはμITRON仕様OSが採用されることが多い。VxWorks、OS-9、QNXなども広く利用され、また最近では強力なネットワーク機能により本来汎用OSであるNetBSD、OpenBSD、FreeBSDなどのUnix-likeOSにも注目が集まっている。詳しくは、組み込みオペレーティングシステムを参照のこと。現在においても、特に低資源の環境ではOSを採用しないことも多い。ほとんどの組み込みシステムでは、ユーザがプログラムを入れ替えたり更新したりすることは想定されない。そのため汎用コンピュータよりも自由にオペレーティングシステムやシステム構成を選択できる。CEやLinuxなども採用されている。Embeddedは航空券のチェックインシステムからコンビニのPOSレジ、更には銀行のATMまで、幅広く採用されている。4.0の頃から組み込みシステムに採用されていた)関連項目[編集]ファームウェア組み込みシステムの技術者[編集]組み込みシステムの開発職は確立された職種として認知されている。日本における組み込みソフトウェア技術者数は、2004年に14.9万人、2005年17.5万人、2006年19.3万人、2007年23.5万人と推計された(経済産業省による推計[9])。経済産業省所管の独立行政法人である情報処理推進機構(IPA)が実施する国家資格。日本国内で実施される組み込みシステムに関する資格試験としては最難関にあたる。午後1および午後2で組み込みシステムに関する問題が自由選択制で出題される。午後2は論述試験である。午後1および午後2で組み込みシステムに関する問題が自由選択制で出題される。午後の問7(自由選択制)は例年組み込みシステムに関する内容になっている。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスのもとで利用できます。追加の条件が適用される場合があります。詳細については利用規約を参照してください。Cookieに関する声明モバイルビュ。