Open Firmware

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

Open Firmware(またはOpenBoot)はハードウェアに依存しないファームウェアオペレーティングシステムをロードするソフトウェア)であり、サン・マイクロシステムズのミッチ・ブラッドリーによって開発され、IEEEにより標準化され、サン・マイクロシステムズアップルIBMなどによって使われている。

概要[編集]

Open Firmwareは、アップルNuBus後のPowerPCベースのMacintosh(CHRPベースのPower Macintosh)、サン・マイクロシステムズSPARCベースのワークステーションとサーバ、IBMPOWERアーキテクチャの計算機システム(CHRPベースのRS/6000 PCIモデル)、Pegasosの計算機システム、そしてOLPCによって設計されたラップトップ(OLPC XO-1)など、色々な機種で採用された。

Open FirmwareはBSDライセンス下で利用可能である。提案されているPower Architecture Platform Referenceでも、Open Firmwareベースのプラットフォームである。それらのプラットフォーム上では、Open FirmwareはPC上でのBIOSの動作とまったく同じことができる。

Open FirmwareはForthベースのシェルインタフェースを持つ。Forthは強力な高レベル言語で、たとえば、Open Firmware上でハノイの塔の問題を解くことが可能である。

Open FirmwareはIEEEによって、IEEE 1275-1994として標準化された。最新仕様については、オーストリアのウィーン工科大学コンピュータ言語研究所のForth研究プロジェクトから利用可能である。

SunのOpenBootやFirmwoksのOpenFirmware、CodegenのSmartFirmwareなど、いくつかのOpen Firmwareの商用実装は、2006年にオープンソースコミュニティにリリースされた。このソースはOpenBIOSプロジェクトで公開されている。

利点[編集]

Open FirmwareのForth言語によるコードはFCode(と呼ばれるバイトコード)にコンパイルされ、特定のコンピュータアーキテクチャに依存した機械語に変換されない。つまり、あるI/Oカード用のコードを含んでいるOpen Firmwareは、他のOpen Firmwareを使うどんなシステム上でも動作することが可能である。この方法により、あるI/Oカードの起動時診断や設定用コード、そしてデバイスドライバは、他のOpen Firmwareが動作するシステム上でも使える。したがって、多くのI/OカードがSunのマシンとMacintoshの両方の上で動作することが可能である。

また、インタラクティブなプログラミング言語をベースとしているので、Open Firmwareはコードのテストや新しいハードウェアへの追従を素早く行うことができる。

アクセス[編集]

幾つかのアーキテクチャではオペレーティングシステムのブート前にコンソールからOpen Firmwareのプロンプトを通してテキストベースで対話的にアクセスすることが可能である(たとえばMacintoshなら、起動時にoptionキーとcommandキー、さらにO(オー)キーとFキーを同時に押し続けると、Open Firmwareにアクセスできる)。認識されたデバイスはForthの名前空間に現れ、これを使い入出力デバイスの指示等を行う。バス別に、規定された名前空間が存在し、構成情報を取得し設定することも出来る。

Open Firmwareは"ok"をプロンプトとして表示する。

関連項目[編集]

外部リンク[編集]