Una prueba automática de encendido ( POST ) es un proceso que realizan las rutinas de firmware o software inmediatamente después de encender una computadora u otro dispositivo electrónico digital. [1]
Los procesos POST pueden establecer el estado inicial del dispositivo a partir del firmware y detectar si algún componente de hardware no funciona. Los resultados de la POST pueden mostrarse en un panel que forma parte del dispositivo, enviarse a un dispositivo externo o almacenarse para su posterior recuperación mediante una herramienta de diagnóstico. En algunas computadoras, se puede proporcionar una lámpara indicadora o un altavoz para mostrar códigos de error como una secuencia de destellos o pitidos en caso de que la pantalla de la computadora no funcione correctamente.
Las rutinas POST son parte de la secuencia de prearranque de una computadora . Si se completan correctamente, se invoca el código del cargador de arranque para cargar un sistema operativo .
En las computadoras compatibles con IBM PC , las principales tareas de POST son manejadas por el BIOS o UEFI .
En los ordenadores compatibles con IBM PC , las principales tareas de POST las realiza el BIOS o la UEFI, que pueden delegar algunas de estas tareas a otros programas diseñados para inicializar dispositivos periféricos muy específicos , en particular para la inicialización de vídeo y SCSI . Estos otros programas con tareas específicas se conocen generalmente en conjunto como ROM opcionales o individualmente como BIOS de vídeo , BIOS SCSI, etc.
En las primeras BIOS, hasta el cambio de milenio, la prueba POST realizaba una prueba exhaustiva de todos los dispositivos, incluida una prueba completa de la memoria. Este diseño de IBM se basó en sus sistemas mainframe más grandes, que realizaban una prueba completa del hardware como parte de su proceso de arranque en frío. A medida que la plataforma de PC evolucionó hacia un dispositivo de consumo más básico, las características de alta confiabilidad inspiradas en mainframes y minicomputadoras, como la memoria de paridad y la prueba exhaustiva de memoria en cada prueba POST, se eliminaron de la mayoría de los modelos. El crecimiento exponencial de los tamaños de memoria de PC, impulsado por la caída igualmente exponencial de los precios de la memoria, también fue un factor en esto, ya que la duración de una prueba de memoria utilizando una CPU determinada es directamente proporcional al tamaño de la memoria.
El IBM PC original podía estar equipado con tan solo 16 KB de RAM y normalmente tenía entre 64 y 640 KB; dependiendo de la cantidad de memoria equipada, el 8088 de 4,77 MHz del ordenador necesitaba entre 5 segundos y 1,5 minutos para completar la POST y no había forma de saltársela. A partir del IBM XT , se mostraba un recuento de memoria durante la POST en lugar de una pantalla en blanco. [2] Un PC moderno con una velocidad de bus de alrededor de 1 GHz y un bus de 32 bits podría ser 2000 o incluso 5000 veces más rápido, pero podría tener muchos más GB de memoria. Como los tiempos de arranque son una preocupación mayor ahora que en la década de 1980, la prueba de memoria de 30 a 60 segundos añade un retraso indeseable a cambio de un beneficio de confianza que la mayoría de los usuarios no perciben como digno de ese costo. La mayoría de los BIOS de las PC clónicas permitían al usuario omitir la comprobación de la RAM mediante la POST presionando una tecla, y las máquinas más modernas a menudo no realizaban ninguna prueba de RAM a menos que estuviera habilitada a través de la configuración del BIOS. Además, la DRAM moderna es significativamente más confiable que la DRAM de la década de 1980.
Durante la POST, la BIOS debe integrar múltiples estándares e iniciativas que compiten entre sí, cambian constantemente e incluso se excluyen mutuamente para la matriz de hardware y sistemas operativos que se espera que admita la PC, aunque, como máximo, solo se muestran pruebas de memoria simples y la pantalla de configuración. Las principales funciones de la BIOS principal durante la POST incluyen:
Las funciones anteriores las cumple la POST en todas las versiones del BIOS desde la primera. En versiones posteriores del BIOS, la POST también:
En los primeros BIOS, POST no organizaba ni seleccionaba los dispositivos de arranque, simplemente identificaba los disquetes o discos duros, y el sistema siempre intentaba arrancar en ese orden.
La BIOS comienza su POST cuando se reinicia la CPU . La primera ubicación de memoria que la CPU intenta ejecutar se conoce como vector de reinicio . En el caso de un reinicio forzado , el puente norte dirigirá una solicitud de obtención de código a la BIOS ubicada en la memoria flash del sistema . Para un arranque en caliente , la BIOS se ubicará en el lugar adecuado en la RAM y el puente norte dirigirá la llamada al vector de reinicio a la RAM. En los sistemas de PC anteriores, antes de que los chipsets fueran estándar, la ROM de la BIOS se ubicaría en un rango de direcciones que incluía el vector de reinicio, y la BIOS se ejecutaba directamente desde la ROM. Es por eso que la ROM de la BIOS de la placa base está en el segmento F000 en el mapa de memoria convencional .
Durante el flujo de POST de un BIOS contemporáneo, una de las primeras cosas que debe hacer un BIOS es determinar el motivo por el que se está ejecutando. Para un arranque en frío, por ejemplo, es posible que deba ejecutar todas sus funciones. Sin embargo, si el sistema admite métodos de ahorro de energía o de arranque rápido, el BIOS puede eludir el descubrimiento de dispositivos POST estándar y simplemente programar los dispositivos desde una tabla de dispositivos del sistema precargada.
Como parte de la secuencia de inicio, las rutinas POST pueden mostrar un mensaje al usuario para que presione una tecla y acceda a las funciones de configuración integradas del BIOS. Esto permite al usuario configurar varias opciones específicas de la placa base antes de que se cargue el sistema operativo. Si no se presiona ninguna tecla, la POST continuará con la secuencia de arranque necesaria para cargar el sistema operativo instalado.
Muchas implementaciones modernas de BIOS y UEFI muestran el logotipo del fabricante durante la prueba POST y ocultan las pantallas de texto clásicas a menos que se produzca un error. La pantalla de texto a menudo se puede habilitar en la configuración de BIOS desactivando la opción "Arranque silencioso".
El BIOS original de IBM hizo que la información de diagnóstico POST estuviera disponible enviando un número al puerto de E/S 0x80 (no era posible mostrar la pantalla con algunos modos de falla). Se generaban tanto la indicación de progreso como los códigos de error; en el caso de una falla que no generara un código, el código de la última operación exitosa estaba disponible para ayudar a diagnosticar el problema. Usando un analizador lógico o una tarjeta POST dedicada —una tarjeta de interfaz que muestra la salida del puerto 0x80 en una pantalla pequeña—un técnico podía determinar el origen del problema. Una vez que un sistema operativo se ejecuta en la computadora, el código mostrado por dicha placa puede perder sentido, ya que algunos sistemas operativos, por ejemplo Linux , usan el puerto 0x80 para operaciones de temporización de E/S. Los códigos numéricos reales para las posibles etapas y condiciones de error difieren de un proveedor de BIOS a otro. Los códigos para diferentes versiones de BIOS de un solo proveedor también pueden variar, aunque muchos códigos permanecen sin cambios en diferentes versiones.
Las BIOS posteriores utilizaban una secuencia de pitidos del altavoz de la PC conectado a la placa base (si estaba presente y funcionaba) para indicar los códigos de error. Algunos proveedores desarrollaron variantes o mejoras patentadas, como el soporte en D de MSI. Los códigos de pitidos de la POST varían de un fabricante a otro.
Los fabricantes de BIOS y placas base pueden proporcionar información sobre códigos numéricos y de sonido. Existen sitios web que recopilan códigos para muchas BIOS. [3]
Estos códigos de sonido POST están cubiertos específicamente en el examen CompTIA A+ :
Los ordenadores Macintosh de Apple también realizan una prueba POST después de un arranque en frío . En caso de error fatal, el Mac no emitirá su sonido de arranque .
Los Mac fabricados antes de 1987, al fallar la prueba POST, se bloqueaban silenciosamente sin reproducir ningún sonido y se congelaban, con una sola cadena hexadecimal y un ícono de Sad Mac en la pantalla, si funcionaba. Los Mac fabricados después de 1987 pero anteriores a 1998, al fallar la prueba POST, se detendrían inmediatamente con un " campanilla de la muerte ", que es un sonido que varía según el modelo; puede ser un simple pitido, un sonido de choque de automóvil, el sonido de un vidrio roto, un tono musical corto o más. En la pantalla, si funcionaba, estará el ícono de Sad Mac, junto con dos cadenas hexadecimales, que se pueden usar para identificar el problema. Algunos Mac fabricados en esta época no usan una campana de la muerte como los Mac fabricados antes de 1987, pero conservaron el mismo formato que los que usaban las campanadas de la muerte, como la presencia del ícono de Sad Mac y dos cadenas hexadecimales en la pantalla. Las Macs del Viejo Mundo posteriores basadas en la arquitectura PCI anteriores a 1998 no muestran el ícono de Mac triste ni las cadenas hexadecimales en la pantalla y solo reproducen la campana de la muerte.
Cuando Apple presentó el iMac en 1998, supuso un cambio radical con respecto a otros Mac de la época. El iMac dio comienzo a la producción de los New World Macs , como se los denomina; los New World Macs, como el iMac G3 , el Power Macintosh G3 (azul y blanco) , el Power Mac G4 (gráficos PCI) , el PowerBook G3 (teclado de bronce) y el PowerBook G3 (FireWire) , cargan la ROM del sistema operativo Mac desde el disco duro. En caso de que se produzca un error que no sea un error de hardware fatal, muestran la misma pantalla que se ve al mantener presionada la tecla +++ al ⌘ Commandiniciar , pero con el mensaje de error en lugar del mensaje "0>". En caso de que se produzca un error de hardware fatal, emiten estos pitidos: [5]⌥ OptionOF
Los códigos de pitidos se revisaron en octubre de 1999. [6] Además, en algunos modelos, el LED de encendido parpadeará en cadencia.
Con la introducción de las Mac basadas en Intel con firmware basado en EFI , los tonos de inicio cambiaron nuevamente. [7] [8] Estos no están presentes en las Mac basadas en Intel equipadas con un chip de seguridad T2 , [7] ya que su proceso POST es diferente de aquellos sin un chip de seguridad T2.
La transición de Mac a Apple silicon marcó un cambio radical en el proceso POST en las Mac. A diferencia de la mayoría de las Mac basadas en Intel que usan firmware basado en EFI, estas Mac basadas en Apple silicon usan una ROM de arranque que carga el cargador de arranque de bajo nivel (LLB), similar al del firmware que se encuentra en el iPhone y el iPad . Al igual que las Mac basadas en Intel con un chip de seguridad T2, los tonos de arranque están ausentes. En caso de un error que no sea un error de hardware fatal, se mostrará un signo de exclamación en la pantalla o el dispositivo pasará al modo de actualización de firmware del dispositivo (DFU). En caso de un error de hardware fatal, no se mostrará nada en la pantalla y no se escuchará ningún sonido. Además, en algunos modelos, el LED de encendido parpadeará en cadencia.
La línea histórica de computadoras Amiga , desde A1000 hasta 4000, presenta una interesante secuencia POST que solicita al usuario una secuencia de pantallas parpadeantes de diferentes colores (en lugar de pitidos audibles como en otros sistemas) para mostrar si varias pruebas POST de hardware fueron correctas o fallaron:
El sistema Amiga realiza los siguientes pasos al arrancar:
Si el sistema no pasa la prueba de ROM, la pantalla se vuelve roja y el sistema se detiene.
Casi todos los modelos de Amiga presentan la misma secuencia de colores al encenderse: pantalla negra, gris oscuro, pantallas de color gris claro llenando toda la pantalla del monitor en una secuencia rápida (los Amigas suelen tardar entre 2 y 3 segundos en encenderse y arrancar). [9]
A4000 presenta solo una pantalla gris clara durante el tiempo de arranque (solo ocurre en 2 o máximo 3 segundos)
Los teclados de los modelos históricos de Amiga no son propietarios como ocurría en las primeras eras de la informática, sino que de manera más pragmática se basaban en el estándar internacional ANSI / ISO 8859-1 . El teclado en sí era un dispositivo inteligente y contaba con su propio procesador y 4 kilobytes de RAM para mantener un buffer de la secuencia de teclas que se iban presionando, pudiendo así comunicarse con el usuario si se encontraba un fallo haciendo parpadear su LED principal en secuencia:
Muchos sistemas integrados , como los de los grandes electrodomésticos, aviónica , comunicaciones o equipos médicos, tienen rutinas de autoprueba integradas que se invocan automáticamente al encender el dispositivo. [10]