Open Firmware
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 | |
Fejlesztő | Sun Microsystems |
Első kiadás | 1994. október 28.[1] |
Programozási nyelv | Forth |
Állapot | visszavont[1] |
Kategória | Boot firmware |
Licenc | MIT-licenc |
Az Open Firmware weboldala |
Történet
szerkesztésAz 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ésAz 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ésAz 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ésJerry 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]
Jegyzetek
szerkesztés- ↑ 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.)
- ↑ Apple Wiki - Open Firmware (angol nyelven). (Hozzáférés: 2025. február 23.)
- ↑ Network boot from open firmware prompt - IBM BladeCenter, BladeCenter H, BladeCenter JS21 (angol nyelven). (Hozzáférés: 2025. február 23.)
- ↑ a b c Mitch Bradley shows and explains Open Firmware (angol nyelven), 2009. június 2. (Hozzáférés: 2025. február 23.)
- ↑ a b openfirmware (angol nyelven). GitHub , 2006. november 12. (Hozzáférés: 2025. február 23.)
- ↑ 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.)
- ↑ 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.
- ↑ 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
- ↑ Sun Enterprise 250 Server Owner's Guide / About OpenBoot Diagnostics (OBDiag) (angol nyelven). (Hozzáférés: 2025. február 25.)
- ↑ openbios (angol nyelven). GitHub . (Hozzáférés: 2025. február 25.)
- ↑ The Open Firmware Source (angol nyelven). (Hozzáférés: 2025. február 23.)
További információk
szerkesztés- 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