組み込みシステム
組み込みシステム（くみこみシステム、英: embedded system）とは、特定の機能を実現するために家電製品や機械等に組み込まれるコンピュータシステムのこと。
概説
組み込みシステムとは、特定の機能を実現するために機械や装置等に組み込まれるコンピュータシステムである。PC等の汎用的なシステムと対比され、特定の機能を実現する目的で組み込まれる。産業用機器、医療用機器、家庭用機器等、制御を必要とする多くの製品に用いられている。
小型・軽量、省電力、安定動作・誤動作防止などの要求から専用に設計されるものが多いが、組み込み用途以外の既存の製品のダウンサイジング、もしくは既存の回路ないしコンポーネントを流用・組み立てを行い製品化しているものも近年増えてきている、これはコンピューターや各種電子回路の小型化と信頼性の向上により特定の組み込み用途の要求を満たしたためである。
（例として、動作可能状態の小型PCの基盤、PCとほぼ同じ働きをするPCI拡張ボード型コンピューター、シングルボードコンピュータ、又はワンボードの汎用マイコン回路などに専用に設計されたソフトウエアを導入して制御を必要とする機械に組み込み、制御回路として使う場合など）
組み込みシステムが登場する以前の装置の制御は、制御理論に基づく伝達関数を用いたPID制御などにより主に電気・電子回路がもたらす現象的な電気量や、機械的な機構の組み合わせ等によって直接的に実現していた。これらの制御的機能を、主に専用に設計されたコンピューターシステムとソフトウェアによって行うことで、装置の正確な状態監視、判断、複雑な命令の組み合わせ等が実現できるとともに、機能の追加や変更も容易に行うことができる。組み込みシステムの中でも、例えば、携帯電話やデジタル家電、自動車など多機能なシステムでは、複数のハードウェア、複数のソフトウェアを組み合わせたものとなり、多くの開発人員と開発期間を要し、大規模組み込みシステムなどと呼ばれることがある。
近年におけるマイクロプロセッサの価格の低下、能力の向上などにより組込みシステム導入は広がっている。機能の追加や変更がソフトウェアを書き換えることで可能となるため、電気・電子回路の変更が最小限に押さえられ、コストもおさえられることなどから、広範囲の製品に搭載されるようになっている。
定義
コンピュータ用語辞典などでは、組み込みシステムは「特定の機能を実現するために機械や機器に組み込まれるコンピュータシステム」などといった説明がされている。
「特定の機能を実現するための必要十分条件を満たす、選択や交換の不可能なハードウェアとプログラム（ソフトウェア）で構成されるコンピュータシステム」と定義されることもある。
組み込みシステムの形態
ハードウェアの構成は汎用のもの、独自のもの、両方を組み合わせたものがある。
ソフトウェアも同様に、汎用のもの、独自のもの、両方を組み合わせたものがある。開発言語としてはC言語が用いられることが多いが、メモリ容量や実行速度等の制約が厳しい用途ではアセンブリ言語が用いられる。メモリ容量等の資源が十分に確保できるシステムではOSも搭載されているものも多い。
ハードウェアとソフトウェアは別々に設計することもあるが、ハードウェアとソフトウェアの機能をお互いに考慮しながら設計する協調設計（コデザイン、co-design）と言う設計手法もある。
沿革
組み込みシステムが発達する以前の装置の制御は、アナログ回路、プログラム制御によらないデジタル回路、からくり的な機械的機構といったハードウェアにより構成していたが、新たな機能を追加したり変更したりする場合に、電子回路や機構そのものを変更する必要があり、コストと時間がかかるという問題があった。
1980年代以降のマイクロプロセッサの発達により、コンピュータを用いた制御方式を導入することで、電子機器の回路は変更せず、ソフトウェアの部分のみを変更することで機能の追加が可能になり、機能追加に必要なコストが削減された。
このため、ほとんどの電化製品に組み込みシステムを搭載するようになり、それにより、製品の付加価値となる新機能が比較的容易に追加できるようになり、高機能化・多機能化が進んだ。
組み込みシステムの技術者
組み込みシステムの開発職は確立された職種として認知されている。日本における組み込みソフトウェア技術者数は、2004年に14.9万人、2005年17.5万人、2006年19.3万人、2007年23.5万人と推計された（経済産業省による推計）。