Open Firmware

számítógépek szabványos boot-környezete
Ez a közzétett változat, ellenőrizve: 2025. február 26.

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.[1] A Sun mellett az Apple[2] és az IBM[3] alkalmazta termékeiben.[4]

Open Firmware
OpenBoot egy UltraSparc gépen
OpenBoot egy UltraSparc gépen

FejlesztőSun Microsystems
Első kiadás1994. október 28.[1]
Programozási nyelvForth
Állapotvisszavont[1]
KategóriaBoot firmware
LicencMIT-licenc
Az Open Firmware weboldala

Történet

szerkesztés

Az Open Firmware fejlesztését Mitch Bradley, a Sun szoftverfejlesztője kezdte meg 1987-ben.[4] A fejlesztés koodiná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.[5]

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.[1] 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,[5] így a szabvány előbb lejárt, majd 2000 május elején az IEEE hivatalosan is visszavonta.[1]

A Sun a technológiát a SPARCstation, az Apple a PowerPC-alapú Macintosh modelljeiben, az IBM pedig a POWER-alapú szervereiben alkalmazta.[4]

Jellemzők

szerkesztés

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.[6]

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.[6]

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).[6][7] 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,[8]:§5.1 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.[8]:§5.2

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.[9]

Alkalmazások

szerkesztés

Az Open Firmware több kereskedelmi megvalósítása is ismert, így a Sun OpenBoot, a Firmworks, illetve a Genesi OpenFirmware, a CodeGen SmartFirmware vagy az IBM-től a Slimline Open Firmware. A forráskód ma már szabadon elérhető az OpenBIOS projekt keretében.[10]

Fogadtatás

szerkeszté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."[11]

  1. a b c d e IEEE Standard for Boot (Initialization Configuration) Firmware: Core Requirements and Practices (angol nyelven). standards.ieee.org . (Hozzáférés: 2025. február 23.)
  2. Apple Wiki - Open Firmware (angol nyelven). (Hozzáférés: 2025. február 23.)
  3. Network boot from open firmware prompt - IBM BladeCenter, BladeCenter H, BladeCenter JS21 (angol nyelven). (Hozzáférés: 2025. február 23.)
  4. a b c Mitch Bradley shows and explains Open Firmware (angol nyelven), 2009. június 2. (Hozzáférés: 2025. február 23.)
  5. a b openfirmware (angol nyelven). GitHub , 2006. november 12. (Hozzáférés: 2025. február 23.)
  6. a b c IEEE Standard for Boot (Initialization Configuration) Firmware: Core Requirements and Practices (angol nyelven). archive.org . (Hozzáférés: 2025. február 23.)
  7. Mauro, Jim. Solaris Internals: Core Kernel Components (angol nyelven). Prentice-Hall Professional, 107. o. (2001. február 25.). ISBN 9780130224965. Hozzáférés ideje: 2025. február 25. 
  8. a b Constantine A. Murenin (2010-05-21), OpenBSD Hardware Sensors – Environmental Monitoring and Fan Control., University of Waterloo: UWSpace, Document ID: ab71498b6b1a60ff817b29d56997a418., <https://uwspace.uwaterloo.ca/items/81fc787e-cd05-4417-96a4-62cc28e6c269>. Hozzáférés ideje: 2025-02-25
  9. Sun Enterprise 250 Server Owner's Guide / About OpenBoot Diagnostics (OBDiag) (angol nyelven). (Hozzáférés: 2025. február 25.)
  10. openbios (angol nyelven). GitHub . (Hozzáférés: 2025. február 25.)
  11. The Open Firmware Source (angol nyelven). (Hozzáférés: 2025. február 23.)

További információk

szerkesztés