• ベストアンサー

「ファームウェア」と「組み込みOS」の違い

「ファームウェア」と「組み込みOS」という言葉の意味の違いが分かりません。 これらの意味は、例えば次のように示されています。 http://e-words.jp/w/E38395E382A1E383BCE383A0E382A6E382A7E382A2.html http://e-words.jp/w/E7B584E381BFE8BEBCE381BFOS.html 上記URLを見ると、これらの言葉は同じようにも思えるし違うようにも思えます。 これらの言葉の意味の違いは何でしょうか。

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

  • ベストアンサー
  • benajis
  • ベストアンサー率54% (51/94)
回答No.5

ファームウエアは、用語辞典にあるように、"firm"wareで、hardほどは硬くないけど、softほど軟らかくない、というのが語源です。 #4さんも書かれていますが、機器に組み込まれているソフトということで、"firmware"と"組み込みソフトウエア"は、ほぼ同意語です。 つまり、hardwareはそう簡単には設計変更できないが、softwareは容易に設計変更可能で、パソコンのようなコンピュータ上では入れ替えも容易です。 firmwareは、実装されるときはROMの形態なので、softwareほど入れ替えは容易ではないが、ROMチップを交換することで入れ替え可能になります。 ただ、1チップマイコンのように、Mask ROM内蔵の形だと、マイコンチップ自身を交換しなければなりません。 最近のように、Flash Memoryを使用していれば、道具と仕掛けさえあれば、オンボードでも書き換えられるようになりました。 firmwareに含まれる機能は、該当機器のハードウエア制御も、(必要であれば)通信もユーザーインターフェース(キー入力や音声出力、表示など)もすべて含まれます。 OSはOperating Systemの略で、システム全体の管理を行なうソフトウエアです。パソコンのWindowsが有名です。 このうち、機器に組み込まれるOSを組み込みOSと呼び、特徴は用語辞典に書いてあるとおりです。Windowsなどと比べると、贅肉を徹底的に落としてリアルタイム性やコンパクト化が図られています。 firmwareの中で、システムの管理を行なう部分が組み込みOSです。つまり、組み込みOSは、firmwareの一部ということになります。リソース(資源)を管理するということは、特定のハードウエアがリソースなら、そのハードウエアが含まれますし、CPUやメモリもリソースとして管理されます。 具体的に、firmwareのどの部分が組み込みOSかというと、そのOSの実装のされ方にもよりますので、実例を見てみるのがいいのではないでしょうか。 国内では、組み込みOS(RTOS)としてiTronが有名です。一度iTronを調べみるとよいと思います。マイコンメーカー各社が自社マイコン向けのiTronを開発しています。 また、特徴のひとつのリアルタイム性が強く要求されることが多いので、リアルタイムOS(RTOS)と呼ばれることも多いです。 なお、電卓やちょっとした家電品などは制御が軽いので、OSを使用していないことがほとんどです。

wakabakun
質問者

お礼

誠にピンポイントかつ詳細な御教示、有り難うございます。 よく分かりました。組み込みOSはファームウェアの一部であるが全く異なる概念なんですね。Mask ROMやiTronなども知りませんでした。勉強させていただきました。 たくさんあった疑問が全て氷解しました。有り難うございました。

その他の回答 (5)

  • tadys
  • ベストアンサー率40% (856/2135)
回答No.6

(1)「最近では「組み込みソフト」ということが多い」ということは、両者はほぼ同じものを意味するということでしょうか。 ファームやOSやアプリケーションを含む全体を組み込むソフトと言います。 組み込むソフトが出始めたころはファームウエアと言う言葉は無く、アプリケーションソフトが全てのリソースを直接いじっていました。 その後特定用途のハードウエアに対してハードウエアを操作する部分がアプリケーションから分離されてファームウエアと呼ばれるようになりました。 その後マイコンが高性能化すると共にソフトも複雑になりOSが採用されるようになって来たのです。 組み込みソフトをアプリケーションとそれ以外に分類すれば、OSをファームウエアに含めても可笑しくはありません。 (2)ファームウェアとは、「ハードウエアを直接いじるソフトからその上の階層例えば通信プロトコルの当たりも含むもの」ということなんですね。 余りファームウエアと言う言葉にこだわら無いほうが良いでしょう。組み込みではアプリケーションが直接ハードをいじることも良くあります。 ただし、最近ではシステムが大規模になっており一人の人間がハードソフトの全てを理解することが難しくなっています。そのため適当な規模での階層化、抽象化が必要になっています。ハードウエアに近いレベルからユーザーに近いレベルまでいろいろな階層が出来ています。規模が大きくなるほど階層も多くなるでしょう。どこまでがファームでどこからがアプリケーションかなどというのにこだわる必要はありません。 (3)「「組み込みOS」は主にリソースの管理を行う」とのことですが、「リソース」とは「I/O、メモリ、CPU時間など」とのことなので、「リソースの管理を行う」というのは「ハードウエアを直接いじる」と同じ意味のように思えるのですがそれでよいでしょうか。 CPU時間はハードウエアですか? 組み込みシステムではシステムごとに利用できるリソースが異なっており、ハードウエアを直接いじる機能はOSに含まれないのが普通です。 OSが行うのはどのタスクにどのリソースを割り当てるか等の管理業務です。例えばあるタスクが特定のI/Oを使用している間は他のタスクがそのI/Oを使用できないようにするなどです。 OSの機能については下記URLを参照してください。 (4)すると、ファームウェアと組み込みOSとの違いは、「通信プロトコルまで含むのがファームウェアであり、通信プロトコルを含まないのが組み込みOS」と思えるのですが、それでよいでしょうか。 通信機能についてはOSが提供する場合もあれば提供しない場合もあります。最近のOSではネットワーク機能を含む場合が多いです。 ソフトウエアは全体で一つのシステムです。余り些細な分類に拘ってはかえって分かりにくくなります。 最近ではOS、通信機能、グラフィック表示機能などは専業メーカーからの購入が増えています。 セットメーカーではアプリケーションソフトを中心に作ることが多くなってきています。

参考URL:
http://www.sakamura-lab.org/TRON/ITRON/panph98/panph98-j.html
wakabakun
質問者

お礼

誠にピンポイントかつ明解な御教示、有り難うございます。 よく分かりました。組み込みOSはファームウェアの一部であるが全く異なる概念なんですね。パソコンの場合と同じように中間的な性格のソフトもあるということなんですね。また、御教示のサイトもたいへん勉強させていただきました。 たくさんあった疑問が全て氷解しました。有り難うございました。

  • tadys
  • ベストアンサー率40% (856/2135)
回答No.4

「ファームウェア」というのはハードウエアを動かすためのソフトという感じですが最近はあまり使われていないような気がします。 最近では「組み込みソフト」ということが多いです。 ハードウエアを直接いじるソフトからその上の階層例えば通信プロトコルの当たりも含めてファームウエア言う事が多いようです。 携帯電話のように表示が付いているものでは描画のためのグラフィックルーチンなどもファームウエアでしょう。 ファームウエアに対する言葉としてはアプリケーションソフトでしょうか。 「組み込みOS」は主にリソースの管理を行う事が目的です。ここで言うリソースは、I/O、メモリ、CPU時間などです。 どのタスクにそれらのリソースを割り当てるかがOSの仕事になります。 例えば入力の変化があったらタスクを起動し、処理が終了したらタスクを終了させるなどの動作を行います。 最近の組み込みソフトでは大規模になってきており、パソコンのソフトに劣らない規模のものや、パソコンのOSを使ったものなども現れています。

wakabakun
質問者

補足

いくつかお尋ねさせてください。 (1)「最近では「組み込みソフト」ということが多い」ということは、両者はほぼ同じものを意味するということでしょうか。 (2)ファームウェアとは、「ハードウエアを直接いじるソフトからその上の階層例えば通信プロトコルの当たりも含むもの」ということなんですね。 (3)「「組み込みOS」は主にリソースの管理を行う」とのことですが、「リソース」とは「I/O、メモリ、CPU時間など」とのことなので、「リソースの管理を行う」というのは「ハードウエアを直接いじる」と同じ意味のように思えるのですがそれでよいでしょうか。 (4)すると、ファームウェアと組み込みOSとの違いは、「通信プロトコルまで含むのがファームウェアであり、通信プロトコルを含まないのが組み込みOS」と思えるのですが、それでよいでしょうか。 よろしくお願いします。

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.3

 たびたびすいません。ANo.2です。  「ファームウェア」は、単純に物事を分類するための単語に過ぎません。メモリやCPUなど物理的な形として存在しているを「ハードウェア」、ゲームソフトやワープロソフトなどの物理的な形としてではないものを「ソフトウェア」と呼んで、どちらにも含まれて明確に分類できないものを「ファームウェア」と呼んでいます、というのはご質問のリンク先に説明があるかと思います。  「組み込みOS」を上記分野のどこに含まれるかというと「ファームウェア」に分類されるのではないかと思います。つまり、ファームウェアが包括しているような関係になると思います。  同じか違うかという論点では語れない関係かと思います。

wakabakun
質問者

補足

すみません。No.2の御回答を間違えて理解していました。 「組み込みOS」は「ファームウェア」に包含される概念なんですね。よく分かりました。有り難うございます。 すると、「ファームウェア」にあって「組み込みOS」にないものは何でしょうか。別の言い方をすると、「ファームウェア」と「組み込みOS」とが異なる部分は何でしょうか。別の言い方をすると、「ファームウェア」には包含されるが「組み込みOS」には包含されないものは何でしょうか。 勝手に定義を書いてみました。 ファームウェア:ハードウェアとソフトウェアの両方の性格を持つもの。(「両方の性格を持つ」が、意味不明ですが...。) 組み込みOS:機器に組み込まれていて当該機器を制御するソフトウェア。 何かしっくり来ません。 たくさん言いましたが、煎じ詰めれば、最初の質問に書いた「「ファームウェア」と「組み込みOS」という言葉の意味の違い」が、まだ理解できてないということなのですが....。 よろしくお願いします。

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.2

 ファームウェアはその昔「ゲートアレイ」や「ワイヤードロジック」などの、ハードとソフトの境目がよくわからない分野の物を指していましたが、いつのころからか誰が広めてしまったのか「ROM」の中にプログラムデータなどが入っているものも指すようになりました。  ご質問の「意味の違い」は、視点によって変わってくると思いますが、組み込みOSは一般的にROMに焼いて提供されるため現在の意味合いでのファームウェアというテクノロジー分野に該当します。ということです。強いて例えればライオンはネコ科の動物ですが、ライオン=ネコではないですよね(←すいません、極論だったでしょうか?)。

wakabakun
質問者

補足

つまり、「現在の意味合い」では、「ROMに焼いて提供されるOS=ネコ科の動物、組み込みOS=ネコ、ファームウェア=ライオン」ということでしょうか。 つまり、同じカテゴリーに入るという共通点はあるが、同じではないということでしょうか。 もしそうなら、共通点は「ROMに焼いて提供されるOS」ということでしょうか。それ以外にはないのでしょうか。 よろしくお願いします。

  • rouxkt
  • ベストアンサー率28% (87/305)
回答No.1

ファームウェアは、何かの機能を使うためにそれに特化したものって感じではないでしょうか? 組込みOSっていうのは、ファームウェアよりある程度機能を増やした感じと考えていいと思います。 組込みOSで一番身近なものは、携帯電話のOSですね。 携帯電話のOSも組込み型OSの一つです。Ipodなどにも、組込みOSがたしか使われています。 ファームウェアの身近なものは・・・PCのBIOSやルーターやネットワークプリントサーバーなどを動かすためのソフトでしょうか?

wakabakun
質問者

補足

「組込みOSっていうのは、ファームウェアよりある程度機能を増やした感じ」とのことですが、「ある程度」というのがやや分かりにくいのですが、例えば次のようなものに組み込まれているOSはどちらでしょうか。 (1)自動改札機 (2)DVDレコーダー (3)金銭登録機 (4)FAX (5)コピー機 (6)自動車のナビゲーター (7)デジカメ (8)テレビ (9)パソコンのモニター (10)ルーター (11)インターホン (12)電卓 「ある程度」の具体的な境界を知りたいのですが。 よろしくお願いします。

関連するQ&A

  • ハウジングサービスとMSPの違いってなんですか?

    「ハウジングサービス」と「MSP(Management Services Provider)」って 調べてみると似たような解説がされているのですが、違いはなんなの でしょうか。 (回線の提供やサーバの管理・保守等をするなど) e-Wordsの内容によれば「ハウジング~」はサービスの名称で、 「MSP」は事業者のことのようなのですが、ページによっては、MSPも サービスの一つのような記述が見られたりとよく分かりません。 http://e-words.jp/w/E3838FE382A6E382B8E383B3E382B0E382B5E383BCE38393E382B9.html http://e-words.jp/w/MSP.html

  • ECコマースってなんですか?

    http://e-words.jp/w/eE382B3E3839EE383BCE382B9.html ECコマースってなんなんでしょうか? 上記のURLの説明が抽象的でよくわかりません。 どんな言語でどういったものを作成するのでしょうか?

  • レガシーマイグレーションとは何のことなのでしょうか?

    ふとお客様との会話で聞きかじり、どうにも自分でわからない言葉だったので調べていますが、IT用語(?)に特に詳しくないため、よく理解できません。 参照してみたサイト http://www.keyman.or.jp/search/kikan2/30000691_1.html http://e-words.jp/w/E383ACE382ACE382B7E383BCE3839EE382A4E382B0E383ACE383BCE382B7E383A7E383B3.html もし、どなたか噛み砕いて教えていただけないかと思い質問させていただきました。 よろしくお願いします。

  • 帯域を奪う、とは?

    下記URLを見ると、ストームが起こると、帯域を奪うとあるのですが、イメージがわきません。 ルータ等のCPUの処理がそれでいっぱいになる、なら分かるのですが、なぜ「帯域が奪われる」のでしょうか?ストームが起きているのは、そのループが起きているケーブル1本(あるいは2本)の間だけなのだから、他のケーブルに流れる信号には影響がないように思えるのですが・・・。 http://e-words.jp/w/E38396E383ADE383BCE38389E382ADE383A3E382B9E38388E382B9E38388E383BCE383A0.html

  • 組み込み、ドライバ、ファームウエア?

    言葉の意味が分からず、調べてみたのですが初心者向けの ページが見つからないので質問させて頂きます。 組み込みソフトウエア、ドライバ、ファームウエアの 3つの言葉の意味の違いがよく分かりません。 お願いします。

  • ホストとサーバーの違いについて

    ホストとサーバーの違いについて教えてください。 これらについて解説を見たところ、 両方の説明の内容がかなり似ており、 どこがどう違うのかが理解できませんでした。 同じ意味として扱うのは少し間違いのようでもありますので、 意味の分かれ方を知りたいのですが、 一体どこで見分けを付けたら良いでしょうか? 「ホスト」 http://e-words.jp/w/E3839BE382B9E38388.html ・ネットワークを介する ・自コンピューター以外のコンピュータに対して  機能というサービスを提供する ・莫大なデータを保持する(保持することがある?ここは疑問です汗) 「サーバー」 http://e-words.jp/w/E382B5E383BCE38390.html ・ネットワークを介する(ネットワークを介さない場合もある ) ・自コンピューター以外のコンピュータに対して  機能というサービスを提供する ・データは保持するが莫大なデータは保持しない?(ここも疑問です汗) ************************************************************* 相違点 [ホスト] ・ネットワークを介する [サーバー] ・ネットワークを介さない場合もある というところから ホストは必ずネットワークを介してサービスの提供を行い サーバーはネットワークを介する場合もあり、介さない場合もある という違いの使い分けで ホストとサーバーという言葉が使い分けられているのでしょうか?

  • ケーブルセレクトについて

    http://e-words.jp/w/E382B1E383BCE38396E383ABE382BBE383ACE382AFE38388.html ケーブルセレクトが良く分かりません。

  • SSLのクラスについて複数質問させてください。

    SSLのクラスについて複数質問させてください。 ★そもそも。、SSLのクラス1、クラス2(&ほかにもある?)といったクラスとはどんなものなのでしょうか? クラス1=「実在証明」なし、と単純に思ってたのですが、そういえば、クラス1の仕様って他になにがあるのだろう?と思いまして。 それぞれのクラスについて、比較して説明しているようなページ(英語でも可)が あれば、はやいのですが。。。ご存じないでしょうか? ★一般的に「実在証明」の有無、と呼ばれるものは、 デジタル証明書 http://e-words.jp/w/E38387E382B8E382BFE383ABE8A8BCE6988EE69BB8.html の有無、と同一の意味でしょうか? ★クラスというのは、EV SSLとか、SSLのバージョンとは、別次元の話なのでしょうか? よろしくお願いします。

  • 「タスク」って何ですか?

     私は今gooの簡単HPで自分のホームページを作っている最中なのですが、メニューに「タスク」という欄があります。これは一体具体的に何の欄なのでしょうか?私はhttp://e-words.jp/w/E382BFE382B9E382AF.htmlで「タスク」の意味を調べたのですが、全く意味が分かりません。「OSから見た処理の実行単位」と言われても…。という感じです。  どなたか、詳しく教えて下さい。

  • 群れのネットワーク

    『クラスタリング』による情報処理の際には、 野生生物達の群れが『無心』で獲物を刈る時の音頭取りと同じ様に、 『フラグ』とか『キャラクター』とかによる同期が取られているのでしょうか? http://e-words.jp/w/E382AFE383A9E382B9E382BFE383AAE383B3E382B0.html http://www.usj.co.jp/MHR/event/index.html