組み込みソフトウェアの勉強や他業種から組み込みエンジニアの転職活動を行っている時、OSなしってどういうことなんだろうと思います。
転職時の履歴書には開発環境やOSの経験を記載する欄があります。OSなしでは経験がないのか?というとそれは違います。転職活動を行うとOSの経験がなくても、採用する企業側は十分に評価してくれます。
組み込みソフトウェア開発で扱われるOSなしのプログラムやOSなしの経験が評価される理由を紹介しています。
ソフトウェアの種類
ソフトウェアには違いがあり、ソフトウェアの区分を分けると以下の様になります。
応用ソフトウエア
応用ソフトウェアはアプリケーション(略するとアプリ)とも呼ばれます。OSが搭載されているPCやスマホなどの機器上で使用されるソフトウェアです。
特定の処理を行うするために使用されるソフトウェアのことを指します。例えば、ワード、エクセル、Line、ペイントといったPC上で動作するソフトウェアがあります。
基本ソフトウェア
基本ソフトウェアはOS(オペレーティングシステム)のことです。PCやスマートホンを動作させるソフトウェアのことです。このOSが入っていないとPCやスマートホンは動きません。
OSには様々な種類があります。皆さんも聞いたことがあるOSがあると思います。
PC :Windows、Linux、Mac
スマートホン:iOS、Android
ファームウェア
ファームウェアは電子機器を動作させるソフトウェアのことです。組み込み業界ではファームウェア単体で電子機器を制御するソフトウェアのことをOSなしと表現します。
例えば、ファームウェアはエアコンやPC、自動車などの身近な電子製品や病院にある医療機器などを動作させます。エアコンのファームウェアは温度制御や風量制御、タイマ制御などを行います。
ファームウェアとOSは同じものではないか?と思うかもしれませんが、きちんとした違いがあります。
OSは電子機器全体の制御を行うソフトウェアです。ファームウェアはハードウェア制御に特化したソフトウェアのことです。
ファームウェア(OSなし)をより詳しく説明
エアコンやPCなどの電子機器の中にはハードウェア(電子基板)が入っています。ハードウェア上はマイコンやICが実装されています。ハードウェアには様々なICが実装されており、このICを動作させるためにファームウェアがあります。
マイコンとはハードウェアの動作を制御する電子部品です。行ってしまえばコンピュータの頭脳です。マイコンにプログラムを書き込み、プログラムに従って電子機器を制御します。
ICは様々な種類があります。オープンレンジを例にしてICの種類を紹介していきます。
LCD(液晶ディスプレイ):ワット数やモードなどを表示する部品
ブザー :使用者にエラー、温め終了などの状態を知らせるために音を鳴らす部品
ボタン :押下された情報をマイコンに伝える部品
温度センサ :オープンレンジ内の温度を取得する部品
それ以外にも温めるためにマイクロ波を発生させる部品、部品のONOFFを制御するトランジスタなどの多くの部品があります。
OSなしの経験が評価される理由
OSなしの経験が評価される理由は2つあります。
OSなしの電子機器が数多くある
1つ目はOSなしの電子機器が数多くあるからです。たとえば、エアコン、ドライヤ、ケトル、炊飯器、電子レンジなど皆さんの周りにたくさんあります。
様々な電子機器を開発、販売している企業は数多くあります。上記に挙げた製品を開発している企業は有名ですが、普通、生活している中でかかわりのない企業の方が多いです。案外、需要があります。
組み込みエンジニアの需要に比べ、供給が追い付いていないのが実情です。供給が不足しているため、家電業界から医療業界などの業界をまたいだ転職もしやすいです。
ハードウェアの知識や開発経験は貴重な経験
2つ目はハードウェアの知識や開発経験が重宝されます。アプリケーション開発(OSあり)やファームウェア開発(OSなし)に求められる知識や経験は違います。
アプリケーション開発はOS特有のプログラミングの仕方やフレームワークの使い方などの知識や経験が求められます。
ファームウェア開発はハードウェア動作の制御の仕方や知識、製品に求められるJIS、IEC規格などの知識や経験が求められる。
アプリケーション開発、ファームウェア開発はどちらにも特有の難しさがあります。ハードウェアを直接、制御する経験なしではファームウェア開発ができません。だからOSなしの経験は貴重な経験になります。
以上、OSなしのソフトウェアプログラミングの話でした。