ファームウェアとは?意味・定義・特徴をわかりやすく解説

ファームウェアとは、機器の内部に固定的に組み込まれるソフトウェアです。ハードウェアのROMなどに組み込まれ、そのハードウェアを制御します。ソフトウェアの中でもハードウェアに近いため、「ファームウェア」(firm:硬い、固定の)と呼ばれています。

ファームウェアとは

ファームウェアとは、機器の内部に固定的に組み込まれるソフトウェアです。ハードウェアのROMなどに組み込まれ、そのハードウェアを制御します。ソフトウェアの中でもハードウェアに近いため、「ファームウェア」(firm:硬い、固定の)と呼ばれています。

ファームウェアの有形性=無し

ファームウェアは、ソフトウェアの一種です。このため、ソフトウェアと同様に、無体物であり、有形性はありません

ファームウェアの構築方法=プログラミング言語

ファームウェアは、ソフトウェアと同様にプログラミング言語で構成されています

かつて、ファームウェアは、主にアセンブリ言語などの低級言語で開発されていました。しかし、CPUの高速化や記録媒体の大容量化・価格低下により、C言語などのより高級な言語が使用可能となりました。

ファームウェアの例「BIOS(読み方:バイオス)」

一般的なファームウェアとして、BIOS(読み方:バイオス)が知られています。

BIOSは「基本的な入出力システム」を意味する「Basic Input/Output System」の略です。パソコンの土台部分であるマザーボードに搭載されており、名前の通り、起動時のOSの読み込みや、周辺機器に対する基本的な入出力制御を行います。

ポイント
  • ファームウェアとは、機器の内部に固定的に組み込まれるソフトウェアのこと
  • ファームウェアは無体物
  • ファームウェアの構築方法はプログラミング言語

ファームウェアアップデート=ファームウェアの更新のこと

ファームウェアアップデートとは

ファームウェアを新しいものに入れ替え更新することを、「ファームウェアアップデート」と言います。

通常ファームウェアはフラッシュメモリー(フラッシュROM)に格納されており、開発元や販売元の提供する新しいバージョンに入れ替えることで、アップデートを行います。

ファームウェアをアップデートしないとどうなる?アップデートの必要性

ファームウェアの更新が必要な理由として、以下の2つが挙げられます。

  1. 脆弱性を狙った攻撃を避ける
  2. 不具合の改善や機能の拡張

ファームウェアアップデートによって脆弱性を狙った攻撃を避ける

ファームウェアのアップデートが必要な理由の1点めは、脆弱性を狙った攻撃を避けるためです。

前述の通り、ファームウェアは、ソフトウェアです。このため、何らかの脆弱性が生じることがあります。

脆弱性とは

脆弱性とは、ソフトウェアにおいて、プログラムの不具合や設計上のミスによって生じるセキュリティ上の弱点のこと。「セキュリティホール」とも呼ばれる。

通常、ソフトウェアに脆弱性が発見された場合、開発元や販売元は、修正プログラムを公開します。アップデートにより、この修正プログラムがファームウェアに追加されます。

しかし、ファームウェアをアップデートしないままだと、過去に発見された脆弱性を抱えた状態になります。このため、脆弱性を狙った攻撃を受けやすいというリスクが発生してしまいます。

ファームウェアアップデートによって不具合の改善や機能の拡張を行う

ファームウェアのアップデートが必要な理由の2点めは、不具合の改善や機能の拡張を行うためです。

ファームウェアはソフトウェアである以上、脆弱性の他にもバグが生じることがあります。このバグによって、周辺機器の動作が不安定になることがあります。

また、バグの修正の他にも、新たに機能が追加されることもあります。

以上のことから、ファームウェアの更新は常に行うようにし、最新のバージョンにしておくことが望ましいと言えます。

ポイント
  • ファームウェアを新しいものに入れ替え更新することを「ファームウェアアップデート」と言う
  • ファームウェアアップデートにより、脆弱性の解消や、不具合の改善、機能の拡張などができる

ハードウェア・ソフトウェア・ファームウェアの違い 比較一覧表

ハードウェア ソフトウェア ファームウェア
概要 システムを物理的に構成する要素の総称 何らかの処理を行うプログラム ハードウェアを動かすために組み込まれたソフトウェア
有形性
構築方法 電子材料 プログラミング言語 プログラミング言語
筐体
電源ユニット
基板
など
OS
アプリケーションソフト
など
BIOS
など
ハードウェアとは

ハードウェアとは、システムのうち、物理的な構成要素の総称。電子その他の材料で開発されており、有形・有体物。筐体や電源ユニット、基板などを指す。

ソフトウェアとは

ハードウェアに対し、物理的な実体を伴わない要素。プログラミング言語で開発されており、無形・無体物。OSやアプリケーションソフトなどを指す。