Una vez terminadas las verificaciones
previas, la BIOS inicia un recorrido en busca un dispositivo donde encontrar un
programa que pueda continuar el proceso con la carga del Sistema
Operativo. Este recorrido se denomina secuencia de carga ("Boot
sequence") y su orden puede ser establecido mediante un programa auxiliar
( set-up de la BIOS) que es accesible mediante la pulsación de ciertas teclas
durante los instantes iniciales de carga. Una vez fijada, la secuencia de
carga es almacenada en la memoria de datos de la BIOS , de forma que puede ser
recordada y utilizada la próxima vez que se reinicia el sistema.
En los sistemas primitivos, la
secuencia de carga era fija, empezando en el disquete (A:) y siguiendo en
la primera unidad de disco (C:). Esta sigue siendo aún la secuencia
normal, pero las BIOS actuales pueden alterar este orden e incluso dispositivos
alternativos como CD-ROM o LAN, como puntos de inicio para la carga del
Sistema. En estos apuntes denominamos unidad o disco maestro a aquel que
puede ser accedido por la BIOS durante su secuencia de carga. El set-up
de la BIOS establece el orden en que serán consultados los dispositivos
disponibles.
Por lo general, en el estado actual de la técnica (2005), las BIOSes solo están preparadas para arrancar desde unidades internas, que pueden ser disco, disquete, CD/DVD o mediante LAN (tarjeta de red). En tal caso, aunque la unidad USB o la SATA tuviesen una partición primaria activa, no podrían ser utilizadas para la carga inicial del sistema, ya que la BIOS no puede "verlas". Sin embargo, una vez cargado el SO y los controladores pertinentes, ambas unidades podrían ser utilizadas sin problema.
Por lo general, en el estado actual de la técnica (2005), las BIOSes solo están preparadas para arrancar desde unidades internas, que pueden ser disco, disquete, CD/DVD o mediante LAN (tarjeta de red). En tal caso, aunque la unidad USB o la SATA tuviesen una partición primaria activa, no podrían ser utilizadas para la carga inicial del sistema, ya que la BIOS no puede "verlas". Sin embargo, una vez cargado el SO y los controladores pertinentes, ambas unidades podrían ser utilizadas sin problema.
La descripción detallada del
proceso de carga del Sistema requiere conocer la estructura lógica de las
unidades de disco y disquete, para lo que remitimos al lector al capítulo
correspondientes Aquí supondremos que el lector está familiarizado con la
terminología introducida en dichos epígrafes y su significado.
Empezando por el final, en
realidad, lo que se necesita para cargar el Sistema Operativo es un ejecutable
como WININIT.EXE (Windows); NTLDR.EXE (Windows NT/2000); /boot/vmlinuz
(Linux) etc. Tales ficheros solo pueden estar en un volumen o partición
lógica, y la información básica sobre los mismos está contenida en su primer sector,
conocido como VBS ("Volume boot sector" Una vez localizado y cargado,
se tiene conocimiento de su estructura y es fácil localizar el fichero
adecuado. Pero antes hay que averiguar cómo está organizada la unidad
para saber cuantos son los volúmenes y por cual empezar. Como se ha visto
en el capítulo correspondiente, la estructura lógica de las unidades está
organizada de forma que el principio del ovillo se encuentra en el primer
sector de la unidad. En consecuencia, la BIOS recorre los dispositivos
definidos en la secuencia de carga mirando el primer sector. En caso que
no apareciera un sector adecuado en ninguna de las unidades, aparece un
mensaje: No boot device available, o NO ROM BASIC - System Halted .
En el caso de los discos
duros, el primer sector se denomina sector de arranque o registro maestro
de carga MBR ("Master boot record" Que además de un trozo de código MBC
("Master Boot Code"), contiene una tabla MPT ("Master Partition
Table") que describe las particiones definidas en la unidad. En caso
de que alguna unidad de la secuencia de carga contenga un MBR, se carga en
memoria y se trasmite el control a su MBC.
El MBC examina la Master
Partition table buscando dos cosas: En primer lugar determinar si existe
una partición DOS extendida xDp que pueda contener volúmenes lógicos en su
interior, ya que la totalidad de la estructura a manejar debe ser inventariada
y reconocida En segundo lugar, determinar si existe una partición cargable
(activa).
Si el MBC encuentra una
partición extendida, carga su primer sector EBR ("Extended Boot
Record"), que describe el primer volumen lógico de la partición y lo
examina para ver si enlaza con algún otro; en este último caso, el nuevo EBR contiene
información sobre el segundo volumen lógico, de forma que también es cargado y
examinado. El proceso continúa hasta que todos los volúmenes lógicos de
la partición han sido reconocidos por el sistema.
Después de reconocida la
partición extendida (en su caso), el MBC intenta cargar la partición primaria
señalada como activa. En caso de no haber ninguna, el proceso termina con un
error; el mensaje suele ser el mismo que cuando la BIOS no encuentra un
dispositivo cargable: No boot device available , o el conocido NO
ROM BASIC - System Halted . Si por el contrario existe una partición
activa, el MBC se dirige a su primer sector lógico VBS ("Volume Boot
Sector") y lo carga. En lo que sigue suponemos que se trata de una
partición primaria DOS, que es el caso más frecuente
Nota: Es significativo
que, en las máquinas ix86, el proceso seguido hasta este punto es conducido por
código de 16 bits sin soporte de ningún Sistema Operativo. El código del VBS
es precisamente el primer código dependiente que aparece. Depende del SO
utilizado en el formateo de alto nivel del volumen. En cambio el código y
estructura del MBR (instalado por fdisk)es estándar y universal.
El VBS es cargado en memoria y
verificado. Pasándose entonces el control de la ejecución a un trozo de
código VBC ("Volume Boot Code") contenido en él. El VBC examina
la estructura del volumen que se está cargando para asegurar que todo está
correcto, en caso contrario el proceso se detiene en este punto con un
error. Si todo está bien, el VBC busca en el directorio raíz del volumen
en busca de los ficheros del sistema operativo, que en el caso del MS-DOS son
IO.SYS,MSDOS.SYS y COMMAND.COM.
Si no se encuentran dichos
ficheros, el programa mostrará un mensaje; generalmente el consabido:
Non-system disk or disk error - Replace and press any key when ready .
Alguna gente cree que este mensaje significa que el sistema no ha sido cargado;
que la BIOS examina el disquete y que lo rehúsa porque no puede cargarlo,
cuando en realidad como se ha visto, el VBC ha sido efectivamente cargado y
ejecutado, siendo él realmente el que ha generado el mensaje cuando no ha
podido encontrar los ficheros del sistema operativo.
Si los ficheros del SO son
correctos, el programa de carga los trae a memoria y les transfiere el control;
estos ficheros contienen a su vez programas que se encargan de cargar e iniciar
el resto del SO. En el caso del MS-DOS esto significa cargar el intérprete de
comandos COMMAND.COM y a continuación leer e interpretar el contenido de los
ficheros CONFIG.SYS y AUTOEXEC.BAT. En este momento es el propio SO el
que controla el sistema; si se trata de Windows el proceso de carga inicia
muchas más rutinas.
En realidad, los detalles de
la carga del sistema requerirían todo un libro. Pero podemos resumir que
una vez encontrado el cargador del Sistema Operativo, este toma el control del
proceso que había sido iniciado por la BIOS y continuado por los
"bootstrap". Generalmente el Sistema realiza un nuevo inventario
de memoria y de los dispositivos disponibles, y procede a cargar los
controladores de dispositivos adecuados para su manejo. Por ejemplo,
impresoras, ratón y teclado. En los sistemas personales, la última
operación consiste en invocar la shell (generalmente una interfaz gráfica) que
permite al usuario controlar el Sistema y de los programas de aplicación.
En otros casos. Por ejemplo, servidores Web, de Ficheros, de Correo, etc, es
posible que la consola, ratón y teclado no estén conectados inicialmente.
En su lugar se inician una serie de procesos (demonios) que proporcionan
determinados servicios de forma automatizada y sin intervención de ningún
operador
No hay comentarios:
Publicar un comentario