¿Por qué BIOS inicializa el hardware en el arranque?

El BIOS es responsable de poner el sistema en un estado en el que el sistema operativo se pueda cargar desde un dispositivo que se puede iniciar. En el PC original de IBM, el hardware era mucho más simple y el BIOS no tenía casi tantas características. Las computadoras de hoy tienen capas adicionales que deben funcionar antes de que otras capas sean accesibles.

Antes de que la CPU pueda acceder a la RAM, el hardware de la CPU y el hardware de la placa base deben inicializarse. Debido a que el hardware exacto varía entre los diseños de la placa base y las CPU compatibles, el BIOS debe tener información muy específica sobre cómo poner en funcionamiento el hardware.

Antes de poder acceder a dispositivos de hardware como los adaptadores de pantalla, se deben inicializar los buses PCI. El BIOS debe comunicarse con los dispositivos en los buses PCI para obtener información de ellos y asignarles recursos (como direcciones e interrupciones).

Una vez que se hace lo básico, el BIOS tiene que saltar a través de los aros para determinar desde dónde cargar el sistema operativo. Con todas las opciones posibles de discos duros, tarjetas de memoria, ópticas y de red, tiene que determinar cuál de estos dispositivos existe y asegurarse de que estén listos para funcionar. Una vez que se enumeran los dispositivos que se pueden iniciar, el BIOS intenta cargar un sistema operativo de ellos uno por uno si se configura el orden hasta que encuentre uno que tenga sistema operativo para cargar.

Una vez que se carga el sistema operativo, el sistema operativo puede decidir si desea continuar utilizando el código del BIOS para hablar con algunos de los dispositivos o si puede cargar su propio código para hablar con el hardware. Esto tiene la ventaja de permitir que el sistema operativo utilice hardware a un nivel básico sin necesidad de un controlador. Cuando se carga un controlador, puede permitir que se utilicen funciones más avanzadas del hardware o corregir errores en el código del BIOS.

Como puede ver, el BIOS tiene mucho trabajo por hacer y algunos requieren conocimientos muy específicos del hardware.

¿Cuándo más se supone que debe hacer esto?

Podría haber agregado o eliminado cualquier componente desde la última vez que se inició la computadora. Entonces, en el momento del arranque, revisa todo el hardware para ver cosas como: cuánta RAM, hay una tarjeta gráfica, qué disco (s), etc.

De lo contrario, instalaría estas cosas y luego necesitaría cambiar manualmente los puentes y enchufes a la configuración exacta involucrada. Este solía ser el caso en las computadoras antiguas (es decir, hace 20 a 30 años), y si te equivocaste en uno de los cientos de puentes, entonces nada funcionó. O eso o no le permitieron cambiar los componentes dentro de la computadora: todo se soldaba y todas estas configuraciones se conectaban al hardware.

Las computadoras más nuevas “leen” cuáles son los componentes, verifican su configuración, etc. Por lo tanto, elimina el error humano del proceso de instalación.

El BIOS solo inicializa el hardware necesario para que se inicie un sistema operativo.

Ejemplos son CPU, DDR, dispositivos de visualización y arranque como USB, SATA, SCSI.

Es posible que tenga Wifi en su computadora portátil, pero el BIOS generalmente no inicializaría esto y dejaría que el controlador del sistema operativo se encargue de eso.

Esa es parte de su función básica. Si el hardware no se inicializara, el sistema funcionaría de manera extraña e incomprensible. Es esencial comenzar con el hardware en un estado definido, que puede no ser después del encendido o una ejecución previa.

Su pregunta es como preguntar por qué se viste inmediatamente después de levantarse de la cama. Si no lo hiciera, obtendría algunos resultados extraños cuando fuera a trabajar. El BIOS que inicializa el hardware es el equivalente de la computadora a lavarse y vestirse.