Open Firmware

De la Viquipèdia, l'enciclopèdia lliure
Open Firmware
Tipusestàndard tècnic Modifica el valor a Wikidata
Equip
Desenvolupador(s)Sun Microsystems Modifica el valor a Wikidata
Més informació
Lloc webplayground.sun.com… (anglès) Modifica el valor a Wikidata

Open Firmware és un estàndard que defineix les interfícies d'un sistema de microprogramari informàtic, anteriorment aprovat per l'Institut d'Enginyers Elèctrics i Electrònics (IEEE). Es va originar a Sun Microsystems, on es coneixia com a OpenBoot, i ha estat utilitzat per diversos venedors com Sun, Apple, IBM i ARM.[1]

Open Firmware permet que un sistema carregui controladors independents de la plataforma directament des d'un dispositiu PCI, millorant la compatibilitat.

Es pot accedir a l'Open Firmware a través de la seva interfície de línia d'ordres, que utilitza el llenguatge de programació Forth.

Història[modifica]

Open Firmware va ser descrit per l'estàndard IEEE com IEEE 1275-1994 . Aquest estàndard no va ser reafirmat per l'Open Firmware Working Group (OFWG) des de 1998, i per tant va ser retirat oficialment per IEEE el maig de 2005.[2][3]

Característiques[modifica]

Open Firmware defineix una manera estàndard de descriure la configuració de maquinari d'un sistema, anomenada arbre de dispositius.[4] Això ajuda el sistema operatiu a entendre millor la configuració de l'ordinador amfitrió, depenent menys de la configuració de l'usuari i de l'enquesta de maquinari. Per exemple, Open Firmware és essencial per identificar de manera fiable els dispositius esclaus I2C com els sensors de temperatura per al control de maquinari,[5] :§5.1mentre que la solució alternativa de realitzar una sonda cega del bus I2C, tal com s'ha de fer amb programari com lm_sensors en maquinari genèric, se sap que provoca problemes greus de maquinari en determinades circumstàncies.

Open Firmware Forth Code es pot compilar a FCode, un bytecode que és independent de l'arquitectura del conjunt d'instruccions. Una targeta PCI pot incloure un programa, compilat a FCode, que s'executa en qualsevol sistema Open Firmware. D'aquesta manera, pot proporcionar diagnòstics d'inici, codi de configuració i controladors de dispositiu. FCode també és molt compacte, de manera que un controlador de disc pot requerir només un o dos kilobytes. Per tant, moltes de les mateixes targetes d'E/S es poden utilitzar en sistemes Sun i Macintosh que utilitzaven Open Firmware. FCode implementa ANS Forth i un subconjunt de la biblioteca Open Firmware.

Basat en un llenguatge de programació interactiu, Open Firmware es pot utilitzar per provar i fer aparèixer nou maquinari de manera eficient. Permet escriure i provar els controladors de manera interactiva. Els controladors de vídeo i ratolí operatius són l'únic requisit previ per a una interfície gràfica adequada per al diagnòstic de l'usuari final. Apple va enviar aquest "sistema operatiu" de diagnòstic a molts Power Macintosh. Sun també va enviar una suite d'eines de diagnòstic basada en FCode anomenada OpenBoot Diagnostics (OBDiag) utilitzada pels equips d'assistència al client i de fabricació de maquinari

Implementacions i llicències[modifica]

Diverses implementacions comercials d'Open Firmware s'han llançat a la comunitat de codi obert des del 2006, incloent Sun OpenBoot, Firmworks OpenFirmware i Codegen SmartFirmware. El codi font està disponible des del projecte OpenBIOS. La implementació de Sun està disponible sota una llicència BSD.

Referències[modifica]

  1. «Open Firmware Definition - What is open firmware?» (en anglès). [Consulta: 2 setembre 2023].
  2. IEEE Standard for Boot (Initialization Configuration) Firmware: Core Requirements and Practices (en anglès), 28 octubre 1994, p. 1–262. DOI 10.1109/IEEESTD.1994.89427. ISBN 978-0-7381-1194-0. 
  3. «IEEE Standards Association» (en anglès). IEEE Standards Association. [Consulta: 26 abril 2023].
  4. Mauro, Jim. Solaris Internals: Core Kernel Components (en anglès). Prentice-Hall Professional, 2001, p. 107. ISBN 9780130224965. 
  5. OpenBSD Hardware Sensors – Environmental Monitoring and Fan Control (tesi) (en anglès). MMath, 2010-05-21. Document ID: ab71498b6b1a60ff817b29d56997a418..