OSとCPUは異なる概念です。はい、CPUはマシンの中心にあるハードウェアの主要部分です。ファームウェアのメモリからファームウェアの命令をフェッチして実行します。(ちなみに、小さなシステムでも並列実行用に複数のCPUを搭載することは一般的です。そのため、 CPU についてのみ話すのは少し時代遅れです。)
ファームウェアは、不揮発性(またはおそらく読み取り専用の)メモリに格納されるソフトウェアです。このようなメモリ内にあるため、マシンの電源を入れたときにファームウェアを使用できます。マシンは、電源がオンになるとほぼ即座にファームウェアの実行を開始します。または、いくつかの小さなブートプログラム(それ自体のファームウェア)は、フラッシュなどの電子ストレージからより大きなファームウェアをプルしてRAMに入れ、実行することができます。最近のフラッシュストレージの使用は、アップグレード手順についての「新しいファームウェアのフラッシュ」というフレーズを耳にすることがあります。ファームウェアは、このように簡単にアップグレードできる必要はありません。集積回路チップ上にある場合があるため、デバイスを新しいファームウェアに更新するには、集積回路(「EPROMチップ」)をソケットから取り外し、新しいものに差し込む必要がある場合があります。PC BIOS ' この方法で更新されていたsと、他の無数のデバイス。これは本当に言葉の由来です。一部の人々は、プログラムを「ソフトウェア」と呼ぶことに不快でした。チップまたは回路基板を交換して交換する必要があり、ハードウェアアップデートのように見える場合です。したがって、「ファームウェア」は造語であり、ソフトウェアよりも変更が「難しい」ものです。
ファームウェアは、「完全な」オペレーティングシステムにすることができます。たとえば、トマトはワイヤレスルーター用のLinuxベースのファームウェアです。
http://www.polarcloud.com/tomato
ssh経由でTomatoにログインし、Linuxプロンプトを取得できます。したがって、これは高度なオペレーティングシステムであり、ファームウェアです。ただし、ルーターにハードディスクがあり、起動時に同じOSをそのディスクからロードする必要がある場合、正当にファームウェアと呼ばれることはありません。ファームウェアは、フラッシュメモリやEPROMチップなど、電源投入直後にプロセッサからアクセス可能な電子ストレージにある必要があります。
最近の多くのコンシューマデバイスは、アップグレード可能なファームウェアを備えています。たとえば、デジタルカメラを使用している場合は、そのWebサイトを見つけて、工場でインストールされたファームウェアに存在する可能性があるいくつかの問題を修正する新しいファームウェアバージョンが入手できないかどうかを確認する必要があります。比較的技術に詳しくないエンドユーザーでも、最近のファームウェアの更新は簡単です。前述のTomatoは、出荷時のファームウェアを置き換えるサードパーティのオープンソースファームウェアの例です。
「オペレーティングシステム」という言葉は、マシンのリソースを管理し、プログラムに適度に高レベルのサービスを提供する上である程度の高度で完全な制御プログラムを指します。ファイルシステム、ネットワークプロトコル、メモリ、プロセス管理などの機能、デバイスへの高レベルのアクセス、およびおそらくユーザーのいくつかのモデルとセキュリティ。これらのすべてがオペレーティングシステムに存在する必要はありません。通常、メモリ、プロセス管理、I / Oが重要です。制御プログラムが他のプログラムの実行を許可し、それらのプログラムに独自のリソースに関連付けるためのIDを与える場合、およびプログラムがプロセッサとメモリを管理し、I / Oを実行するためのサービスを提供する場合、その制御を呼び出す場合があります。オペレーティングシステムをプログラムします。
好奇心旺盛なので、ウィリアムスタリングスやヘネシーアンドパターソンによるものなど、コンピューターアーキテクチャに関するいくつかの教科書を本当に楽しんでいるかもしれません。