Open Firmware es un estándar que define las interfaces de un sistema de firmware de computadora, anteriormente avalado por el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE). Se originó en Sun Microsystems , donde se conocía como OpenBoot , y ha sido utilizado por múltiples proveedores, incluidos Sun , Apple , [1] IBM y ARM . [ cita requerida ]
Open Firmware permite que un sistema cargue controladores independientes de la plataforma directamente desde un dispositivo PCI, mejorando la compatibilidad.
Se puede acceder a Open Firmware a través de su interfaz de línea de comandos , que utiliza el lenguaje de programación Forth .
El estándar IEEE describió el Open Firmware como IEEE 1275-1994 . Este estándar no fue reafirmado por el Open Firmware Working Group (OFWG) desde 1998, por lo que fue retirado oficialmente por el IEEE en mayo de 2005. [2]
Open Firmware define una forma estándar de describir la configuración de hardware de un sistema, llamada árbol de dispositivos . [3] Esto ayuda al sistema operativo a comprender mejor la configuración del ordenador anfitrión, dependiendo menos de la configuración del usuario y del sondeo de hardware. Por ejemplo, Open Firmware es esencial para identificar de forma fiable los dispositivos esclavos I 2 C, como los sensores de temperatura para la monitorización del hardware , [4] : §5.1 mientras que se sabe que la solución alternativa de realizar un sondeo a ciegas del bus I 2 C , como debe hacerse con software como lm_sensors en hardware genérico, da como resultado graves problemas de hardware en determinadas circunstancias. [4] : §5.2
El código Forth de Open Firmware puede compilarse en FCode, un código de bytes que es independiente de la arquitectura del conjunto de instrucciones . Una tarjeta PCI puede incluir un programa, compilado en FCode, que se ejecuta en cualquier sistema Open Firmware. De esta manera, puede proporcionar diagnósticos en tiempo de arranque , código de configuración y controladores de dispositivos . FCode también es muy compacto, por lo que un controlador de disco puede requerir solo uno o dos kilobytes. Por lo tanto, muchas de las mismas tarjetas de E/S se pueden utilizar en sistemas Sun y Macintosh que utilizan Open Firmware. FCode implementa ANS Forth y un subconjunto de la biblioteca Open Firmware.
Al basarse en un lenguaje de programación interactivo, Open Firmware se puede utilizar para probar y poner en funcionamiento nuevos equipos de forma eficiente. Permite escribir y probar controladores de forma interactiva. Los controladores de vídeo y ratón operativos son el único requisito previo para una interfaz gráfica adecuada para el diagnóstico del usuario final. Apple ha incluido un "sistema operativo" de diagnóstico de este tipo en muchos Power Macintosh. Sun también ha incluido un conjunto de herramientas de diagnóstico basadas en FCode llamado OpenBoot Diagnostics (OBDiag) que utilizan los equipos de soporte técnico al cliente y de fabricación de hardware [5].
Desde 2006 se han publicado varias implementaciones comerciales de Open Firmware para la comunidad de código abierto, entre ellas Sun OpenBoot, Firmworks OpenFirmware y Codegen SmartFirmware. El código fuente está disponible en el proyecto OpenBIOS . La implementación de Sun está disponible bajo una licencia BSD . [ cita requerida ]
{{cite web}}
: CS1 maint: estado de la URL ( enlace )