• ベストアンサー

ファームウェアか、ミドルウェアか、に就いて

ソフトウェア(応用ソフト)(アプリケーション) ※ミドルウェア ソフトウェア(基本ソフト)(OS) ※ファームウェア ハードウェア ファームウェアは、 ハードウェアとOSの間に有るイメージを、 ミドルウェアは、 OSとアプリケーションの間に有るイメージを、 持っていますが、 BIOSと、デバイスドライバは、 それぞれ、どちらに分類されるか、混乱しています。 まあ、分からなくても、 そんなに支障は無いのですが・・・。 BIOSは、ファームウェア。 デバイスドライバは、ミドルウェア。 それで合っていますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • TZ91
  • ベストアンサー率51% (1050/2043)
回答No.3

それぞれの意味を検索してみてください。 必ずしもこれが絶対というわけではありませんが、 1.ファームウェアは電子機器に組み込まれたハードウェアを制御するためのソフトウェアをROM等の集積回路内に組み込んだもの 2.ミドルウェアはコンピュータの基本的な制御を行うオペレーティングシステムと、アプリケーションソフトウェアとの中間に入るソフトウェア 3.デバイスドライバはハードウェアなどをOSによって制御可能にする為のソフトウェア と言えます。 なのでBIOSはファームウェアに分類で合っていますが、デバイスドライバはそのままデバイスドライバですね。 下記は全てWikipediaのものです。 ファームウェア https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2 ミドルウェア https://ja.wikipedia.org/wiki/%E3%83%9F%E3%83%89%E3%83%AB%E3%82%A6%E3%82%A7%E3%82%A2 デバイスドライバ https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90

noname#247828
質問者

お礼

ありがとうございます。 それぞれの意味を改めて考えてみました。 そのように考えてみると、 デバイスドライバは、 そのままデバイスドライバですね。

その他の回答 (2)

回答No.2

>BIOSは、ファームウェア。 ファームウェアは「ハードウェアを制御するためのソフトウェアで、ROM等に書き込まれた状態で機器に組み込まれた物」ですので、BIOSもファームウェアです。 >デバイスドライバは、ミドルウェア。 ミドルウェアは「OSとアプリケーションソフトウェアの橋渡しをする物」ですから、デバイスドライバはミドルウェアではありません。 デバイスドライバは、OSとBIOSの中間に位置し、OSとデバイス(ハードウェア)との橋渡しを行います。不正確ですが「OSの追加ソフト(プラグイン)」みたいな物です。 代表的なミドルウェアには、WEBサーバ、アプリケーションサーバ、データベースサーバなどがあります。 以下、Windowsを例にデバイスドライバの説明をします。 デバイスドライバが組み込まれると、OSに「新しいデバイス名」が登録されます。 アプリケーションは、登録されているデバイス名(プリンタならプリンタ名、ドライブ名ならE:とかF:とかのドライブ名)を指定して、OSのAPIを呼び出します。 OSのAPIは、指定されたデバイス名を元に、指定されたデバイス名に対応するデバイスドライバを選び、デバイスドライバ内に用意されたサービスコールルーチンを呼び出します。 サービスコールが呼ばれると、デバイスドライバ内のサービスコールルーチンは、BIOSを呼び出して、デバイス(ハードウェア)にアクセスします(BIOSのI/Oポート入出力ルーチンを呼び出します) サービスコールの結果は、デバイスドライバからOSのAPIに返されます。 APIから返された結果は、APIからアプリケーションに返されます。 これにより、アプリケーションは「個々のハードウェアの違い」を意識せず、デバイスを制御する事ができます。

noname#247828
質問者

お礼

ありがとうございます。 BIOSは、ファームウェアですが、 ミドルウェアは、 OSとアプリケーションの、 橋渡しをするわけですから、 確かに、 デバイスドライバは、 ミドルウェアではありませんね。 デバイスドライバは、 ファームウェアであるBIOSと、OSの、 中間に位置し、 ハードウェアであるデバイスと、OSとの、 橋渡しを行うわけですから、 いわばOSの追加ソフト(プラグイン)的な感じ。 参考になりました。

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

ファームウェアは組込ソフトの事で、特定の専用機器を制御するプログラム全般を指し、その中にはOSやアプリケーションに相当するモノも含まれます。 BIOSはファームウェアに近い存在ですが、汎用のパソコン用として考えた場合はファームウェアとは呼ばれません。 デバイスドライバはOSとハードウェアの間に入るソフトウェアなのでミドルウェアでは無いですね。 デバイスドライバはデバイスドライバと言うジャンルに属するソフトです。

noname#247828
質問者

お礼

ありがとうございます。 BIOSがファームウェアかどうかという点も、 意見が分かれますね。 デバイスドライバは、仰る通り、 ハードウェアであるデバイスと、OSの、 間に入るソフトウェアですから、 当然、ミドルウェアでは無いですね。 どちらかといえば、 ファームウェアに近い気もしますが、 そうではなくて、 デバイスドライバはデバイスドライバですね。