¿Qué sucede dentro de una PC en el momento en que se enciende (botón de encendido)?

¿Alguna vez te has preguntado al copiar y pegar el bootmgr.bin o anteriormente llamado ntfsload.bin, la computadora nunca se iniciará, aunque estos archivos todavía están en la raíz (C :). OK, aquí es por qué. Cuando mueve un archivo desde una ubicación y luego lo devuelve a la misma ubicación, físicamente no ocupará la misma ubicación que antes en el disco duro. Simplemente lo coloca en cualquier espacio del disco duro y le asigna una dirección. Es por eso que el disco duro se puede desfragmentar, ya que cada archivo grande puede ocupar diferentes lugares en pequeños fragmentos.

Para responder tu pregunta. El chip de BIOS es el primero en obtener el jugo. Toca el hardware conectado en su interior, como CPU, mouse, teclado, etc. Y lo último que se debe tocar es el disco duro (o cualquier unidad de arranque de primer CD, USB o disco duro). Ahora, aquí está el material técnico. ¿Cómo se inicia el sistema operativo como Windows después de reconocer el disco duro por la BIOS? Esto se llama sector de arranque en el disco duro. El sector de arranque es el formato MS dos. Cuando se formatea el disco duro, coloca la clave de inicio (el primer clúster que lee la BIOS llamado int3). Comenzando en el clúster int3, lee la secuencia de carga de bootmgr.bin que carga todos los archivos de Windows. Entonces bootmgr o ntfsload tiene que colocarse en int3. Es por eso que mencioné en el primer párrafo, mover hacia adelante y hacia atrás el bootmgr lo colocará lejos del clúster inicial (int3). Por lo tanto, el sistema se pierde. Luego, MS dos activa cada archivo relacionado con sonido, video, red, teclado, mouse y toneladas de más archivos que Microsoft diseñó para iniciar la interfaz de escritorio de Windows. Todos los demás sistemas como Linux, MacOS tienen un gestor de arranque con un formato diferente, pero deben colocarse en el clúster int3 para que la BIOS lo vea.

Espero que no haya sido aburrido.

Gracias por A2A.

Volvamos a una máquina de 8 bits que estaba realmente apagada y que requería un interruptor de encendido real para empezar.

Inmediatamente que se suministra energía, la CPU comienza a funcionar. Lee y ejecuta automáticamente la instrucción ROM (memoria de solo lectura preprogramada durante la fabricación) en la dirección 0, luego incrementa y lee y ejecuta la instrucción en la dirección 1. Este proceso continúa hasta que se ejecuta suficiente código de nivel de sistema en la CPU para activar su intérprete BÁSICO (que era casi universal en ese momento). Después de unos segundos, envía suficientes datos en blanco para crear una pantalla en blanco en la RAM de video y luego anuncia que está listo para comenzar mostrando READY> .

Luego, de acuerdo con el manual provisto, comienza a escribir su propio programa o ingresa CLOAD para leer en un programa de cinta.

En máquinas posteriores como la Apple] [, esta tarjeta controladora de disco contenía suficiente código propio para interceptar esa progresión normal y hacer que la computadora lea información del disco del sistema DOS. Estas máquinas generalmente todavía ejecutaban BASIC como lenguaje pero ahora tenían las instrucciones adicionales para poder operar la unidad de disco, de ahí DOS (Sistema Operativo de Disco). Para las computadoras domésticas había muchos DOS diferentes, incluidos AppleDOS, TRS-DOS, NewDOS, L-DOS y el DOS para negocios más popular basado en 8085 / Z80 era CP / M.


Ahora pasaremos a la primera PC de IBM. Esto introdujo una nueva capa de ROM llamada BIOS. Desde un arranque en frío, el 8088 u 8086 nuevamente comenzó en la dirección ROM 0 y gradualmente acumuló suficiente información para saber cómo lidiar con el hardware. Esto comenzó con POST (Power-On Self Test) e incluyó probar la RAM disponible para asegurarse de que fuera completamente funcional, verificar que el video fuera direccionable y varias otras pruebas. Si alguna de esas pruebas fallara (incluida una prueba de teclado primitiva), el Altavoz del sistema emitirá un código Morse como una serie de pitidos para informar la falla. Luego buscaría una dirección por encima de 640 kb para el primero de los cartuchos enchufables (que nunca se implementaron). Luego buscaría el segundo cartucho de este tipo. Si no encontró nada para ejecutar, buscó el cargador de DOS incorporado contenido en la tarjeta controladora de disco. Si no encuentra nada allí, volverá a su versión interna de Cassette BASIC.

Como el BASIC interno era propiedad de IBM, muy pocos clones contenían el mismo conjunto de instrucciones y dependían de MS-DOS para ser útiles, por lo que cuando IBM lanzó la máquina 286, BASIC se eliminó y la máquina buscaría un Controlador de disco duro primero, luego un disquete. Si no se encontraba ninguno, lo que dejaría la máquina inútil, había tarjetas de arranque de red que interceptaban las mismas direcciones que los controladores de disco para que se pudiera cargar “DOS” en una red. La PC no sabía la diferencia.

En este tipo de máquinas, había suficiente hardware inteligente en el BIOS para indicar una falla si la CPU estaba ausente o defectuosa.


El 386 fue la primera máquina en incluir (raramente) botones de encendido suave, aunque estos realmente no se hicieron realidad en las máquinas 486 y superiores, para permitir a Windows (95) una mejor oportunidad de imitar la Mac. Muchas máquinas anteriores solo para DOS (particularmente las computadoras portátiles) permitían el apagado automático para que la RAM adicional pudiera usarse como una unidad de disco virtual. Si la batería se agota completamente, esta información se pierde.

En una máquina moderna con control de potencia suave, gran parte de la placa base ya está encendida (mínimamente). Esto puede incluir mantener activo el riel de 5V para que los puertos USB puedan usarse para cargar mientras la PC está “apagada”. Cuando presiona el botón “iniciar encendido”, el BIOS conecta dos pines de la fuente de alimentación para encenderlo por completo.

El proceso de arranque es más o menos el mismo que he descrito anteriormente, excepto que en muchas placas, el BIOS se ha incrementado en capacidad y control nativo, evolucionando más recientemente a UEFI, que a menudo todavía se llama BIOS por simplicidad.

En Windows, muchas de las funciones integradas del BIOS todavía se utilizan. Linux, en un esfuerzo por ser más eficiente, reemplazará el código del BIOS con su propio código personalizado para que los programas y el código del sistema se ejecuten más de la mano que las capas de aplicación del sistema operativo del BIOS. Linux todavía necesita el BIOS para cargar, pero a medida que se carga, escribe su BIOS personalizado en la RAM y deja de referirse al código del BIOS incorporado.

Por lo tanto, incluso en la última máquina, a menos que esté en modo de Suspensión, la CPU comienza en la dirección 0 e incrementa su proceso de arranque hasta que tenga una máquina en funcionamiento.

Si estaba en modo de Suspensión, se supone que la computadora consume suficiente energía para mantener todos los estados de RAM y CPU (bloqueados en el reloj) para que la CPU pueda reanudarse en el último punto de ejecución, y la única espera que debe hacer es el tiempo que tarda su monitor en activarse. Si se pierde energía en el modo de Suspensión, es exactamente lo mismo que matar la máquina mientras está en funcionamiento, y tiene que comenzar el proceso de arranque nuevamente, con la esperanza de recuperarse de cualquier error causado por la falla de energía.

El siguiente nivel hacia abajo es Hibernate. Cuando se le dice a Hibernate, el sistema operativo escribe toda la RAM, los estados de la CPU, los datos del controlador, etc., en un área específica en el HDD, y luego se apaga.

Al pasar por el proceso de arranque, el cargador del sistema se desvía al archivo Hibernate y copia toda la información de nuevo a donde estaba ubicado para que la máquina pueda volver a la mitad del documento en el que estaba trabajando. Siempre que no haya habido una alteración significativa del hardware, Hibernate es muy confiable para apagar su máquina rápidamente cuando su UPS comienza a sonar para decir que la alimentación de la red eléctrica ha fallado. Las computadoras portátiles también hacen esto automáticamente cuando la batería alcanza un nivel predefinido de descarga.

La versión final es Hybrid Sleep / Hibernate. La PC escribe el archivo Hibernate, pero luego se queda dormido; La idea es que si se produce un corte de energía y se pierden los datos de suspensión, la máquina todavía puede “reiniciar” a través del archivo Hibernate.

Personalmente, considero que el modo de suspensión e híbrido no es confiable, por lo que siempre uso Hibernate si lo necesito.

Suspender e Hibernar son características del sistema operativo.

Aunque el modo de suspensión puede bloquear la CPU en áreas de memoria que no sean la POST del BIOS, cualquier CPU que tenga que arrancar desde cero comenzará en la dirección ROM 0, 1, 2, etc. para que su máquina funcione.

El mismo inicio 0, 1, 2 también se aplica a los controladores (CPU personalizadas) en televisores, impresoras, reproductores de DVD, etc.

Cuando presiona el botón de encendido, suceden las siguientes cosas en el siguiente orden:

  1. El interruptor de encendido cierra un circuito.
  2. La placa base recibe la señal y le dice a la PSU (fuente de alimentación) que se encienda.
  3. La fuente de alimentación comienza a suministrar energía.
  4. La placa base intercepta la energía y la distribuye a diferentes componentes, los más críticos primero (como CPU y RAM).
  5. La placa base pasa por la verificación del BIOS y verifica que todo esté funcionando (la pantalla de inicio que ve antes del logotipo de arranque).
  6. La placa base carga el cargador de arranque desde el primer dispositivo de arranque que haya seleccionado (muy probablemente la unidad de almacenamiento).
  7. Bootloader inicia el sistema operativo de acuerdo con sus propios parámetros.
  8. El sistema operativo carga archivos en la RAM, como controladores, procesos del sistema, etc.
  9. El sistema operativo completa la carga y ahora puede interactuar con él.

Todo comienza a arrancar, creo que los ventiladores se encienden primero y luego el resto se enciende como la CPU, los LED de la GPU (si los hay) y la energía comienza a ir a la placa base para alimentar cualquier cosa. ¿Alguna vez escuchó ese pitido cuando enciende su PC? Esa es la comprobación de hardware y te dice si todo en tu computadora está funcionando correctamente.

Por favor, avíseme si me he perdido algo.