Una autoprueba de encendido ( POST ) es un proceso realizado por rutinas de firmware o software inmediatamente después de encender una computadora u otro dispositivo electrónico digital. [1]
Este artículo trata principalmente de los POST en computadoras personales, pero muchos otros sistemas integrados , como los de grandes electrodomésticos, aviónica , comunicaciones o equipos médicos, también tienen rutinas de autoprueba integradas que se invocan automáticamente al encender. [2]
Los resultados de la POST pueden mostrarse en un panel que forma parte del dispositivo, enviarse a un dispositivo externo o almacenarse para su futura recuperación mediante una herramienta de diagnóstico. Dado que una autoprueba podría detectar que la pantalla legible por humanos habitual del sistema no funciona, se puede proporcionar una lámpara indicadora o un altavoz para mostrar códigos de error como una secuencia de destellos o pitidos . Además de ejecutar pruebas, el proceso POST también puede configurar el estado inicial del dispositivo desde el firmware.
En el caso de una computadora, las rutinas POST son parte de la secuencia previa al arranque de un dispositivo ; 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 BIOS / UEFI , que puede encomendar algunas de estas tareas a otros programas diseñados para inicializar dispositivos periféricos muy específicos , en particular para la inicialización de video y SCSI . Estos otros programas de tareas específicas generalmente se conocen colectivamente como ROM opcionales o individualmente como BIOS de video , BIOS SCSI, etc.
Las funciones principales del BIOS principal durante la POST son las siguientes:
Las funciones anteriores son realizadas por POST en todas las versiones de BIOS desde la primera. En versiones posteriores de BIOS, POST también:
(En las primeras BIOS, POST no organizaba ni seleccionaba dispositivos de arranque, simplemente identificaba disquetes o discos duros, que el sistema intentaría arrancar en ese orden, siempre).
El 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 completo , el puente norte dirigirá esta búsqueda (solicitud) de código al BIOS ubicado en la memoria flash del sistema . Para un arranque en caliente , el BIOS se ubicará en el lugar adecuado de la RAM y el puente norte dirigirá la llamada del vector de reinicio a la RAM. (En sistemas de PC anteriores, antes de que los conjuntos de chips fueran estándar, la ROM del BIOS se ubicaba en un rango de direcciones que incluía el vector de reinicio, y el BIOS se ejecutaba directamente desde la ROM. Esta es la razón por la cual la ROM del BIOS de la placa base está en el segmento F000 de la memoria convencional . mapa.)
Durante el flujo 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.
El flujo POST para PC ha pasado de ser un proceso muy simple y directo a uno complejo y complicado. Durante el POST, el BIOS debe integrar una gran cantidad de estándares e iniciativas en competencia, en evolución e incluso mutuamente excluyentes para la matriz de hardware y sistemas operativos que se espera que admita la PC, aunque como mucho solo se muestran pruebas de memoria simples y la pantalla de configuración.
En BIOS anteriores, hasta aproximadamente el cambio de milenio, el POST realizaba una prueba exhaustiva de todos los dispositivos, incluida una prueba de memoria completa. Este diseño de IBM se inspiró en sus sistemas más grandes (por ejemplo, mainframe), que realizarían una prueba completa de hardware como parte de su proceso de arranque en frío. A medida que la plataforma de PC evolucionó hasta convertirse en un dispositivo de consumo básico, las características de alta confiabilidad inspiradas en las mainframes y minicomputadoras, como la memoria de paridad y la prueba de memoria exhaustiva en cada POST, se eliminaron de la mayoría de los modelos. El crecimiento exponencial del tamaño de la memoria de las PC, impulsado por la caída igualmente exponencial de los precios de la memoria, también fue un factor, ya que la duración de una prueba de memoria utilizando una CPU determinada es directamente proporcional al tamaño de la memoria.
La PC IBM original podía estar equipada 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 de la computadora requirió entre 5 segundos y 1,5 minutos para completar el POST y no había forma de omitirlo. A partir de IBM XT, se mostraba un recuento de memoria durante la POST en lugar de una pantalla en blanco. [3] Una PC moderna con una velocidad de bus de alrededor de 1 GHz y un bus de 32 bits puede ser 2000 veces o incluso 5000 veces más rápida, pero puede tener más de 3 GB de memoria, es decir, 5000 veces más. Ahora que la gente está más preocupada por los tiempos de arranque que en la década de 1980, la prueba de memoria de 30 a 60 segundos añade un retraso indeseable para un beneficio de confianza que la mayoría de los usuarios no perciben como que vale la pena ese costo. La mayoría de los BIOS de PC clonados permitían al usuario omitir la verificación POST de RAM 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.
Como parte de la secuencia de inicio, las rutinas POST pueden mostrar un mensaje al usuario para que presione una tecla para acceder a las funciones de configuración integradas del BIOS. Esto permite al usuario configurar varias opciones específicas de la placa base antes de cargar el sistema operativo. Si no se presiona ninguna tecla, la POST continuará con la secuencia de inicio requerida para cargar el sistema operativo instalado.
Muchas implementaciones modernas de BIOS y UEFI muestran el logotipo del fabricante durante la POST y ocultan las pantallas de texto clásicas a menos que ocurra un error. La pantalla de texto a menudo se puede habilitar en la configuración del BIOS desactivando la opción "Arranque silencioso".
El BIOS de IBM original 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 generaron indicaciones de progreso y códigos de error; en el caso de una falla que no generaba 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 pequeña pantalla), un técnico podría determinar el origen del problema. Una vez que se ejecuta un sistema operativo 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 mismo proveedor también pueden variar, aunque muchos códigos permanecen sin cambios en diferentes versiones.
Los BIOS posteriores utilizaron una secuencia de pitidos del altavoz de la PC conectado a la placa base (si está presente y funciona) para señalar códigos de error. Algunos proveedores desarrollaron variantes o mejoras patentadas, como el D-Bracket de MSI. Los códigos de sonido POST varían de un fabricante a otro.
La información sobre códigos numéricos y de pitidos está disponible a través de los fabricantes de BIOS y placas base. Hay sitios web que recopilan códigos para muchas BIOS. [4]
Referencia: "Lista de puntos de control y códigos de pitidos de AMIBIOS8, versión 2.0 - 10 de junio de 2008" (PDF) . Archivado desde el original (PDF) el 7 de agosto de 2015.
Estos códigos de sonido POST se tratan específicamente en el examen CompTIA A+ :
Las computadoras Macintosh de Apple también realizan una POST después de un arranque en frío . En caso de un error fatal, la Mac no emitirá el timbre de inicio .
Los Mac fabricados después de 1987 pero antes de 1998, al fallar el POST, se detendrán inmediatamente con un " campanón de muerte ", que es un sonido que varía según el modelo; puede ser un pitido, el sonido de un accidente automovilístico, el sonido de cristales rotos, un tono musical corto o más. En la pantalla, si funciona, aparecerá el ícono de Sad Mac , junto con dos cadenas hexadecimales, que pueden usarse para identificar el problema. Las Mac fabricadas antes de 1987 fallaban silenciosamente con la cadena hexadecimal y un ícono de Sad Mac.
Cuando Apple presentó el iMac en 1998, supuso un cambio radical con respecto a otros Mac de la época. El iMac inició la producción de los New World Mac , como se les llama; Los Mac del Nuevo Mundo, 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 de Mac OS desde el disco duro. . En caso de un error, pero no un error fatal de hardware, muestran la misma pantalla que se ve al mantener presionado ⌘ Command+ ⌥ Option+ O+ Fal inicio, pero con el mensaje de error en lugar del mensaje "0 >". En caso de un error fatal de hardware, emiten estos pitidos: [5]
Los códigos de sonido se revisaron en octubre de 1999. [6] Además, en algunos modelos, el LED de encendido parpadeaba con cadencia.
Con la introducción de Mac basadas en Intel con firmware basado en EFI , los tonos de inicio cambiaron nuevamente. [7]
Los Mac con el chip de seguridad T2 no tienen tonos de inicio, [7] por lo tanto, los códigos de sonido ya no se escuchan ni se utilizan.
Actualmente se desconoce si las Mac basadas en silicio de Apple tienen códigos de sonido, debido a que no utilizan firmware basado en EFI.
La línea histórica de computadoras Amiga , desde A1000 a 4000 , presenta una interesante secuencia POST que solicita al usuario con 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 si ellos 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 cuando se encienden: pantalla negra, gris oscuro, pantallas de color gris claro llenando toda la pantalla del monitor en una secuencia rápida (los Amiga suelen tardar entre 2 y 3 segundos en encenderse y arrancar). [8]
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 sucedía en las primeras eras de las computadoras, 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 tenía su propio procesador y 4 kilobytes de RAM para mantener un búfer de la secuencia de teclas que se presionaban, por lo que puede comunicarse con el usuario si se encuentra una falla haciendo parpadear su LED principal en secuencia: