Extensible Firmware Interface (EFI)

La Interfaz de Firmware Extensible, EFI, por sus siglás en inglés  (Extensible Firmware Interface) es una especificación que define un enlace funcional entre el firmware de un computador y su sistema operativo.

Posición de la EFI en la pila de software.
Posición de la EFI en la pila de software.

La EFI es mucho más compleja, grande y más parecida a un sistema operativo que su antecesor, el BIOS. La definición de la EFI cubre:

  • Servicios. La EFI define boot services (servicios de arranque), que incluye soporte en texto y modo gráfico para varios dispositivos, bus, servicios de archivo y servicios para tiempo de ejecución (runtime services).
  • Protocolos. La EFI define como un protocolo al conjunto de interfaces de software empleadas para comunicación entre dos módulos binarios . Todos los controladores (drivers) EFI deben proveer servicios a otros vía protocolos.
  • Controladores de dispositivos. En adición a los drivers de dispositivos estándar específicos para alguna arquitectura. La especificación de la EFI provee de controladores para un ambiente independiente del procesador, llamado EFI Byte CodeEBC. La especificación de la Unified EFI Forum requiere que el firmware del sistema incluya un intérprete para cualquier imagen EBC que resida en o sea cargado en el ambiente. En este sentido, EBC es similar al Open Firmware empleado en las computadoras SPARC de Sun Microsystem o en las computadoras Macintosh basadas en procesadores PowerPC, entre muchas otras.
  • Administrador de arranque. Un EFI boot manager (administrador de arranque EFI) es también usado para seleccionar y cargar el sistema operativo sin la necesidad de emplear un cargador dedicado.
  • Soporte de disco. En adición al esquema de partición standard del disco de una PC, que emplea un Master Boot Record (MBR), la EFI agrega soporte para para un nuevo esquema de particionamiento denominado GUID Partition Table (GPT) que no sufre de las limitaciones del MBR (como el número de discos y tamaño de las particiones).
  • El shell EFI. La EFI cuenta con el soporte necesario para ejecutar otras aplicaciones EFI.
  • Extensiones. Extensiones a la EFI pueden ser cargadas de cualquier dispositivo de almacenamiento no violátil conectado a la computadora.
Interaccion entre el administrador de arranque de la EFI y los controladores EFI.
Interaccion entre el administrador de arranque de la EFI y los controladores EFI.

Referencias y lecturas adicionales.

  1. «Extensible Firmware Interface«, on Wikipedia.
  2. «Universal Binary Programming Guidelines, Second Edition«, Apple Computer.

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.