Open Firmware
| 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 |
| Kódtár | https://github.com/MitchBradley/openfirmware |
| Az Open Firmware weboldala | |
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]
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 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.[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]
Jegyzetek
[szerkesztés]- 1 2 3 4 5 "IEEE Standard for Boot (Initialization Configuration) Firmware: Core Requirements and Practices". standards.ieee.org (angol nyelven). 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..
- 1 2 3 "Mitch Bradley shows and explains Open Firmware" (angol nyelven). 2009. június 2. Hozzáférés: 2025. február 23..
- 1 2 "openfirmware". GitHub (angol nyelven). 2006. november 12. Hozzáférés: 2025. február 23..
- 1 2 3 "IEEE Standard for Boot (Initialization Configuration) Firmware: Core Requirements and Practices". archive.org (angol nyelven). Hozzáférés: 2025. február 23..
- ↑ Mauro, Jim (2001). Solaris Internals: Core Kernel Components (angol nyelven). Prentice-Hall Professional. 107. o. ISBN 9780130224965. Hozzáférés: 2025. február 25..
- 1 2 Constantine A. Murenin (2010. május 21.). "5.1. Open Firmware and I2C". OpenBSD Hardware Sensors – Environmental Monitoring and Fan Control (MMath thesis) (angol nyelven). University of Waterloo: UWSpace. hdl:10012/5234. Document ID: ab71498b6b1a60ff817b29d56997a418. Hozzáférés: 2025. február 25..
- ↑ "Sun Enterprise 250 Server Owner's Guide / About OpenBoot Diagnostics (OBDiag)" (angol nyelven). Hozzáférés: 2025. február 25..
- ↑ "openbios". GitHub (angol nyelven). 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