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"をプロンプトとして表示する。
関連項目
[編集]- BIOS
- Extensible Firmware Interface (EFI)
- Unified Extensible Firmware Interface (UEFI)
- OpenBIOS - OpenFirmware標準の別実装
- LinuxBIOS - LinuxをベースとしたフリーのBIOS実装。Corebootを参照。
- Input/Output Base Address
- Advanced Configuration and Power Interface (ACPI)
- Power On Self Test (POST)
- BootX - Mac OS XのPowerPC用ブートローダー