Básicamente, para que una computadora comience a ejecutarse para obtener una instancia cuando se enciende o se reinicia, debe tener un programa inicial para ejecutarse. Y este programa inicial que se conoce como bootstrap debe ser simple. Debe inicializar todos los aspectos del sistema, desde los registros de la CPU hasta los controladores de dispositivos y el contenido de la memoria principal, y luego inicia el sistema operativo.
Para hacer este trabajo, el programa de arranque básicamente encuentra el kernel del sistema operativo en el disco y luego carga el kernel en la memoria y luego salta a la dirección inicial para comenzar la ejecución del sistema operativo.
Por qué ROM:
Para la mayoría de las computadoras de hoy en día, el arranque se almacena en memoria de solo lectura (ROM).
- Esta ubicación es buena para el almacenamiento porque este lugar no requiere inicialización y, además, la ubicación aquí es fija para que el procesador pueda comenzar a ejecutarse cuando se enciende o reinicia.
- La ROM es básicamente una memoria de solo lectura y, por lo tanto, no puede verse afectada por el virus informático.
El problema es que cambiar el código de arranque básicamente requiere cambios en los chips de hardware de la ROM. Por esta razón, la mayoría de los sistemas hoy en día tienen un pequeño programa cargador de arranque en el arranque, cuyo único trabajo es traer el programa de arranque completo desde el disco. A través de esto, ahora podemos cambiar el programa de arranque completo fácilmente y la nueva versión se puede escribir fácilmente en el disco.
El programa de arranque completo se almacena en los bloques de arranque en una ubicación fija del disco. Un disco que tiene una partición de arranque se denomina disco de arranque. El código en la ROM de arranque básicamente indica al controlador de lectura que lea los bloques de arranque en la memoria y luego inicia la ejecución del código. El programa de arranque completo es más complejo que el cargador de arranque en la ROM de arranque. Básicamente, puede cargar el sistema operativo completo desde una ubicación no fija en el disco para iniciar la ejecución del sistema operativo. Aunque el programa de arranque completo es muy pequeño.
Ejemplo:
Tratemos de entender esto usando un ejemplo del proceso de arranque en Windows 2000.
Básicamente, Windows 2000 almacena su código de arranque en el primer sector del disco duro. Además, Windows 2000 permite dividir el disco duro en una o más particiones. Esta partición se identifica básicamente como la partición de arranque que básicamente contiene el sistema operativo y los controladores del dispositivo.
El arranque en Windows 2000 comienza ejecutando el código que se coloca en la memoria ROM del sistema. Este código indica al sistema que lea el código directamente desde MBR. Además de esto, el código de inicio también contiene la tabla que enumera la partición del disco duro y también una bandera que indica qué partición debe iniciarse desde el sistema. Una vez que el sistema identifica la partición de arranque, lee el primer sector de la memoria, que se conoce como sector de arranque, y continúa el proceso con el resto del proceso de arranque, que incluye la carga de varios servicios del sistema.
La siguiente figura muestra el arranque desde disco en Windows 2000.
Publicación traducida automáticamente
Artículo escrito por Akashkumar17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA