組み込みソフトとアプリケーションソフトの違い

組み込みソフトとアプリケーションソフトの違い
Advertisement

僕は組み込みソフトとアプリケーションソフトの両方の開発経験があります。

今回は、僕の経験談からその両者それぞれの特徴を書いていきたいと思います。

組み込みソフトウェアは、制御基板に載っているマイコンをプログラミングすることでその機器を制御することができます。

例えば炊飯器の場合、炊飯ボタンが押されたらそのボタンの入力を検知して釜の底にあるヒーターを温める制御をしたり、保温ボタンが押された場合は温度センサからの信号を常に読み取って一定以下の温度にならないようにヒーターを制御したり、たくさんの仕事があります。

制御基板上にはたくさんの部品がありますが、プログラムを書き込むマイコンを脳だとすると、他の部品は手足のようなものです。

例えば、僕たち人間は後ろから誰かに名前を呼ばれたら振り向きますよね。

それは耳が音を聞いてそれが脳まで届き、振り向こうという意思のもとで首を動かして振り向いているのですが、制御基板も同じ原理で動いています。

センサ(耳)に音の入力があり、その入力がマイコン(脳)に届き、意思(プログラム)をもって出力(振り向く)しているのです。

少しだけ難しい話をすると、音の入力レベルを判別したり、入力された音にフィルタをかけて明瞭な音に変換したり、それによって出力する処理を分岐させたり、細かく言えばもっともっとたくさんの処理が隠れています。

それよりも今回のように組み込みソフトの流れだけを掴むのであれば、人体に置き換えるのがわかりやすいと思います。

また、組み込みソフト開発者は制御基板の知識もある程度必要です。電子部品の基本的な知識はもちろん、回路図が読めなければなりません。

回路設計者とうまく連携しながら進める必要がありますね。

一方でアプリケーションソフトは、コンピュータ上で動作するソフトウェアのことです。

iOSアプリやAndroidアプリ、Windowsで言ったらExcelやWordのことですね。

これらは主にパソコンや端末上で動かす事のできるツールのようなものです。

OSをお弁当箱だとすると、アプリケーションソフトはお米やおかずのようなものです。

お弁当箱がないと食べ物を持ち運びできないですし、逆に中身がないとお腹は膨れません。両者が揃って初めて目的を達成することができます。

また、アプリケーションソフトはサーバと通信することもできます。サーバ上にある膨大な量の情報を受け渡しする窓口としての役割を果たすこともできます。

サーバー技術があればアプリケーションソフト開発の役割は大きく広がると思います。

以上が組み込みソフトとアプリケーションソフトのそれぞれの特徴です。

かなりざっくりと書きましたが、イメージさえ掴んでいただけたら幸いです。