Az Open Firmware (más néven: OpenBIOS) a Sun Microsystems által kifejlesztett hardver-független firmware, illetve rendszerindítási mechanizmus, melyet az Institute of Electrical and Electronics Engineers (IEEE) 1994 és 2000 között szabványként ismert el IEEE 1275-1994 számon. A Sun mellett az Apple és az IBM alkalmazta termékeiben.
Történet
Az Open Firmware fejlesztését Mitch Bradley, a Sun szoftverfejlesztője kezdte meg 1987-ben. A fejlesztés koordinációját előbb Bradley új cége, a FirmWorks, majd később az Open Firmware Working Group (OFWG) munkacsoport folytatta az ő vezetésével.
Az Institute of Electrical and Electronics Engineers nemzetközi szabványügyi szervezet (IEEE) C/MSC (mikroprocesszor szabványügyi) bizottsága 1994 márciusában IEEE 1275-1994 számon befogadta az Open Firmware szabványosítási dokumentációját. Az Amerikai Nemzeti Szabványügyi Intézet (ANSI) ugyanez év augusztusában fogadta el, majd a publikáció 1994. október 28-án történt meg. A szabványra az IEEE általános szabályai szerint legkésőbb 5-évente kellett volna újramegerősítést kérni, de az OFGW munkacsoport ezt a hosszadalmas eljárást nem kívánta végigvinni, így a szabvány előbb lejárt, majd 2000 május elején az IEEE hivatalosan is visszavonta.
A Sun a technológiát a SPARCstation, az Apple a PowerPC-alapú Macintosh modelljeiben, az IBM pedig a POWER-alapú szervereiben alkalmazta.
Jellemzők
Az Open Firmware lehetővé teszi a számítógépes rendszer számára hardvereszközök, perifériák platformfüggetlen (gyártó-, buszrendszer-, utasításkészlet-, operációs rendszer független) eszközmeghajtóinak közvetlen betöltését, ezzel a kompatibilitás javítását. A folyamat még az operációs rendszer betöltése előtt zajlik le és hardver-azonosítást, gyorstesztelést és automatikus beállításokat (autoconfig) foglal magában.
Az Open Firmware ROM-ba égetve kerül beépítésre a rendszerbe és programozható felhasználói interfésszel rendelkezik, mely parancssoros felhasználói felületen (CLI) keresztül érhető el és Forth utasításláncok kiadását teszi lehetővé. Az ANS-FORTH szabványnak megfelelő Forth kódban megírt programkód utasításkészlet-független bájtkóddá (FCode) fordítható. Egy PCI vezérlőkártya szintén tartalmazhat, előre FCode-ba fordított programot, melyet az Open Firmware futtatni képes. Az FCode mérete kompakt (egy driver csak pár kilobájt, így több ugyanolyan I/O kártya kezelése is könnyen lehetséges.
Az eszköz-struktúra ás -beállítások szabványos formája az "eszköz-fa" (device tree), mely magában foglalja a rendszerhez csatlakoztatott összes hardvereszközt, illetve azok tulajdonságait (property list). A rendszer így kevésbé támaszkodik a felhasználó általi beállításokra és másodlagos eszközök, mint például I2C buszon kommunikáló alaplapi hőérzékelők, detektálását is megbízhatóan végrehajtja, szemben más rendszerekkel, ahol csak szoftveres vakpróbával lehet eredményt érni, mely más rendszerelemek hibás működésének vagy akár sérülésének kockázatát hordozza bizonyos körülmények között.
Az Open Firmware különösen alkalmas hardverdiagnosztikára, legyen szó akár teljesen új hardver teszteléséről. Meghajtóprogram írását és interaktív tesztelését is lehetővé teszi. Az Apple és a Sun is szállított számítógépmodelljeihez FCode-alapú diagnosztikai eszközöket, utóbbi OpenBoot Diagnostics (OBDiag) néven, melyet az ügyfélszolgálat és a gyári fejlesztők is használtak.
Alkalmazások
Fogadtatás
Jerry Gipper, a Motorola Computer Group akkori marketing igazgatója a következőket nyilatkozta az Open Firmware-ről: "A FirmWorks az iparág bajnoka és az Open Firmware vezető szolgáltatója; ők fejlesztették ki a technológiát, ők vezetik az IEEE 1275 szabvány fejlesztését, technológiájuk pedig bizonyított a piacon."
További információk
- IEEE Std 1275 1994 Standard for boot initialization, a korábbi szabvány szövege (angol)
- Open Firmware Quick Reference, rövid leírás
- OpenBIOS, forráskód a GitHub-on
- Sun's OpenBoot 2.x command reference manual (Revision A, November 1995)
- Sun's SPARC OpenBoot 4.x command reference manual
- OFW FAQ, kérdezz-felelek angolul
