Open Firmware

Open Firmware（またはOpenBoot）はハードウェアに依存しないファームウェア（オペレーティングシステムをロードするソフトウェア）であり、サン・マイクロシステムズのミッチ・ブラッドリーによって開発され、IEEEにより標準化され、サン・マイクロシステムズ、Apple、IBMなどによって使われている。
概要.
Open Firmwareは、AppleのNuBus後のPowerPCベースのMacintosh（CHRPベースのPower Macintosh）、サン・マイクロシステムズのSPARCベースのワークステーションとサーバ、IBMのPOWERアーキテクチャの計算機システム（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"をプロンプトとして表示する。