miércoles, 21 de agosto de 2013

Extensible Firmware Interface



La posición de la Extensible Firmware Interface en la pila del software.
 
La Interfaz Extensible del Firmware, Extensible Firmware Interface (EFI), es una especificación desarrollada por Intel dirigida a reemplazar la antigua interfaz del estándar IBM PC BIOS, interactúa como puente entre el sistema operativo y el firmware base.

Historia

La primera iniciativa se produjo durante las primeras fases de desarrollo del Intel Itanium de HP a mediados de los años 90. Debido a que estos procesadores apuntaban alto, las especificaciones de la BIOS resultaban muy limitadas, por ello Intel desarrolló inicialmente lo que sería la IBI, del acrónimo inglés Intel Boot Initiative, que posteriormente fue renombrado a EFI.
El 25 de Julio de 2005 se creó la fundación UEFI (Unified Extensible Firmware Interface) cuya labor consistía en desarrollar y promocionar la plataforma EFI.
A principios de 2007, la versión 2.1 de la especificación UEFI vio la luz y meses después trajo consigo mejoras como cifrado, autenticación de red y la destacable Interfaz de usuario humana.

Contenidos

La interfaz UEFI incluye bases de datos con información de la plataforma, inicio y tiempo de ejecución de los servicios disponibles listos para cargar el sistema operativo.
UEFI destaca principalmente por:
  • Compatibilidad y emulación de BIOS para los sistemas operativos sólo compatibles con ésta última.
  • Capacidad de arranque desde unidades de almacenamiento grandes, dado que no sufren de las limitaciones del MBR
  • Arquitectura y controladores de la CPU independientes
  • Entorno amigable y flexible Pre-Sistema
  • Diseño modular
La EFI hereda las nuevas características avanzadas del BIOS como ACPI (Interfaz Avanzada de Configuración y Energía) y el SMBIOS (Sistema de Gestión de BIOS), y se le pueden añadir muchas otras, ya que el entorno se ejecuta en 64 bits, al contrario de su predecesora, en 16 bits.

Soporte de dispositivos de almacenamiento sólido y discos

La EFI comunica el arranque además de con el ya clásico MBR, con el sistema GPT que solventa las limitaciones técnicas del MBR:
  • MBR soporta hasta 4 particiones por unidad física con un límite de 2,2 TB, es decir, un disco duro u otro dispositivo de almacenamiento de 10 TB o más no se podría aprovechar su capacidad al 100%.
  • GPT soporta teóricamente hasta 9,4 ZB y no exige un sistema de archivos concreto para funcionar
Microsoft Windows soporta GPT a partir de las versiones de 64 bits de Windows Vista y posteriores.
Algunos sistemas basados en Unix utilizan un híbrido entre MBR y GPT para arrancar.

32 y 64 bits

Los BIOS hacen uso de modos de 16 bits para funcionar, diseño heredado del Intel 8088, pero a diferencia de esto, la EFI funciona directamente con modos de 32 bits y 64 bits permitiendo que las aplicaciones de la EFI tengan acceso completo al direccionamiento de 64 bits

Servicios

La EFi emplea 2 tipos de servicios, denominados servicio de arranque y servicio de ejecución
  • El servicio de arranque incluye texto e interfaz gráfica orientado a una consola que se encarga de soportar y gestionar dispositivos, buses, bloques y servicios de archivo.
  • Los servicios de ejecución son los que controlan la fecha, la hora o el NVRAM

Protocolos

La EFI define un conjunto de protocolos de interfaz de software utilizados para la comunicación entre dos módulos binarios. Todos los controladores de la EFI deben proveer servicios a los demás a través de dichos protocolos.

Controladores/Drivers

Las especificaciones de la EFI permiten ofrecer un controlador de dispositivo independiente del procesador denominado EFI Byte Code o simplemente EBC. Gracias a esto, se permite soporte para la carga de gráficos, red, sonido y opciones avanzadas del sistema, sin haber precargado el sistema operativo en cuestión. Esto era totalmente imposible en el BIOS, ya que cargaba funciones muy limitadas y necesarias como el soporte de periféricos como teclado y ratón.

Gestor de arranque

Un gestor de arranque propio de la EFI permite también la selección y carga directa de los sistemas operativos, eliminando la necesidad de recurrir a gestores de arranque

Interfaz

La EFI trae consigo una interfaz interactiva y muy amigable, que además permite ejecutar otras aplicaciones externas a la propia EFI, siempre y cuando sean compatibles con la especificación.

Extensiones

Toda extensión de la EFI puede cargarse desde cualquier dispositivo no volátil que esté enchufado al ordenador. Un fabricante OEM puede distribuir su sistema con una partición EFI instalada en un disco duro o una Unidad de estado sólido

Adopción

Intel EFI

El Framework de Intel recibe el nombre de Tiano. Tiano se ejecuta en procesadores XScale, Itanium e IA32 bajo licencia propietaria, aunque parte del código ha sido liberado bajo licencia BSD recibiendo el nombre de Proyecto TianoCore. Phoenix Tecnologies comercializa actualmente BIOS "Phoenix SecureCore Tiano" y "Phoenix MicroCore" compatibles con la interfaz UEFI

Plataformas que utilizan UEFI

El primer procesador Itanium dirigido a estaciones de trabajo y lanzado en el año 2000, ya soportaba la especificación EFI 1.02.
En el 2002, el Itanium 2 ya soportaba EFI 1.10 capaz de arrancar Microsoft Windows, GNU/Linux, FreeBSD, HP-UX y OpenVMS
Desde el 2005, se ha tratado de implementar EFI en arquitecturas extrapolables a las de PC, como las basadas en XScale o sistemas embebidos
En 2006 Apple montó sus ordenadores basados en la arquitectura x86 de Intel, y por ello, comenzaron a utilizar sistemas EFI en lugar de Open Firmware como se llevaba utilizando en los anteriores sistemas basados en PowerPC, posteriormente Apple lanzó Bootcamp, que permite un particionado no destructivo y soporte de drivers para la instalación de sistemas operativos Microsoft sin necesidad de reinstalar Mac OS X. Se añadió compatibilidad de BIOS a la EFI.
En el 2008, bastantes sistemas basados en 64 bits han adoptado la EFI, si bien muchos de estos sistemas sólo soportan el arranque mediante BIOS, gracias al Módulo de soporte de compatibilidad, muchos otros, en cambio comienzan a arrancar en sistemas UEFI, por ejemplo servidores IBM, ciertas placas base MSI de soporte ClickBIOS, portátiles HP Elitebook y algunas Tablet PC HP.
En 2009 sistemas x de IBM (x3550 M2, x3650 M2, iDataPlex dx360 M2) y Bladecenter HS22. Dell PowerEdge T610; servidores R610, R710, M610, M710.

Sistemas operativos

  • GNU/Linux ha sido capaz de utilizar EFI en el arranque desde principios de 2000, mediante el gestor de arranque LiLo o, las más recientes versiones de GRUB.
  • HP-UX ha usado (U)EFI como mecanismo de arranque en sistemas IA_64 desde el 2002.HP OpenVMS ha usado (U)EFI en IA-64 desde su lanzamiento inicial en diciembre de 2003, y para las versiones de producción desde enero de 2005
  • Apple utiliza EFI para sus ordenadores basados en 64 bits.
  • Itanium para Windows 2000 (Advanced Server Limited Edition y Datacenter Server Limited Edition) soporta EFI 1.10 en 2002. Windows Server 2003 para IA-64 , Windows XP 64 Bits , y Windows 2000 Advanced Server Limited Edition, todos los cuales son para la familia de procesadores Itanium
  • Introducido soporte EFI a los sistemas operativos x64 de Microsoft Windows como Windows Server 2008, Windows 7 y Windows Vista Service Pack 1 . Microsoft no ofrece soporte UEFI a los sistemas de 32 bits ya que los vendedores no tenían ningún interés en la producción nativa de 32 bits puesto que frenaría la completa migración a los sistemas de 64 bits.
  • Se prevé que Windows 8 sustituya completamente la BIOS por EFI.

No hay comentarios.:

Publicar un comentario