¿Por qué deberíamos saber de qué forma se realiza el proceso de arranque? ¿Acaso no es suficiente con que la computadora arranque y funcione correctamente? Pero si como usuario no sabemos qué está pasando en nuestro sistema, si en realidad estamos usando nuestro sistema o es el sistema el que nos usa a nosotros. Para un administrador de sistema es importante saber qué sistema operativo se ejecuta al iniciar un computador, cuáles son los servicios que se ejecutan y en qué momento se ejecutan. Todos estos factores son determinantes para la seguridad y desempeño del sistema. Además, una de las filosofías en el mundo Linux es la de minimizar la brecha entre lo que pasa en el sistema y lo que el usuario sabe sobre lo que pasa en el sistema. Estudiar el proceso de arranque nos permite entender qué hace el sistema con el hardware, cómo lo interpreta y cómo localiza toda la información que se necesita para que el sistema opere. Comenta con tus compañeros y escribe en tu cuaderno las respuestas a las siguientes actividades:
Menciona si conoces el proceso de arranque en cualquier sistema operativo.
Explicar cuál consideras que es la función de un cargador de arranque.
Que módulos crees que conforman el núcleo de un sistema operativo.
PROCESO DE ARRANQUE. El proceso de arranque en un computador es llamado boot e inicia cuando se prende el computador; lo primero que ocurre es que se ejecuta el BIOS que permitedetectar y acceder al hardware, éste se encuentra almacenado en una memoria permanente no volátil; a esta porción de memoria se le denomina ROM (Read OnlyMemory). El BIOS se encarga de iniciar el cargador de arranque, cuya tarea es dar inicio al sistema operativo. En el caso de Linux, la tarea de boot se confirma de forma manual y permite seleccionar que sistema operativo se desea cargar, en caso deque exista más de un sistema operativo instalado en el computador. El cargador se ocupa de buscar un programa de boot que se encuentra en algún lugar del sistema de archivo y que se encarga de dar inicio al proceso de carga del sistema operativo. En el caso de un sistema Linux, el cargador de arranque accede al directorio /boot,donde carga el núcleo del sistema operativo y ejecuta un proceso llamado init que es el encargado de iniciar los servicios necesarios para que el sistema operativo funciones correctamente. Los servicios que se ejecutan incluyen inicializar tablas del sistema, diagnósticos de hardware, detección de nuevos dispositivos, carga de controladores de dispositivos, entre otros. El proceso de boot es también llamado Master Boot Programa. CARGADOR DE ARRANQUE. El cargador de arranque es el encargado de iniciar cualquier sistema operativo quese encuentre instalado en el computador. Tradicionalmente, en Linux el cargador de arranque se llamaba LILO (LInux LOader), pero en la actualidad el más utilizado es el GRUB (Grand Unified Bootloader). Grub. Hay tres características por las que el GRUB destaca con respecto a otros cargadores:
Proporciona un entorno basado en comandos previo al sistema operativo.
Soporta el modo de direccionamiento por bloques lógicos (LBA, Logical Block Addressing), lo que le permite cargar sistemas operativos cuyos archivos se encuentran más allá del cilindro 1024.
Es capaz de leer sistemas de archivo ext2, esto le permite acceder a sus ficheros de configuración por lo que no hay que reinstalar cada vez que surja un cambio, con excepción de si la partición /boot cambia de ubicación.
Por lo general el GRUB se instala con todas las distribuciones GNU/Linux, como Debian o Fedora, pero siempre es posible ejecutarlo a través de un medio extraíble (usb), aunque no se haya instalado en el disco duro. Es importante estar seguros que las opciones y parámetros de instalación son correctos, debido a que es posible dañar el arranque del sistema. Para realizar la instalación del GRUB:
La figura anterior muestra el menú generado por GRUB cuando detecta más de un sistema operativo instalado en un equipo.
Lilo. LILO ha sido el más popular de los cargadores de arranque, aunque ahora está siendo sustituido por el GRUB. Algunas de las características de LILO son:
No posee comandos interactivos.
y si esto falla el sistema no arranca./sbin/lilo –v –vCada vez que se hace un cambio es necesario ejecutar el programa
Guarda la información sobre localización del núcleo en el MRB.
EL NUCLEO.
El núcleo del sistema operativo es el que se ejecuta todo el tiempo desde que la computadora es encendida y éste se mantiene activo en todo momento. En el caso de Linux, el núcleo se llama vmlinux si no está comprimido o vmlinuz si está comprimido. En la actualidad, debido al tamaño del núcleo, siempre se encuentra comprimido. Módulos. El soporte de módulos del núcleo (LKMs, Loadable Kernel Modules) permite que los controladores de dispositivos, así como cualquier otro servicio del núcleo,sean agregados o eliminados del núcleo mientras éste se encuentra en ejecución.Un módulo es un archivo objeto que contiene un código que permite extenderlas funciones del núcleo. Entre las ventajas del uso de módulos tenemos:
La instalación de los controladores es mucho más sencilla, puesto que el código del núcleo no debe cambiarse.
Permite que el tamaño del núcleo sea más pequeño, pues los controladores se cargan sólo cuando son necesarios.
Bajo Linux, casi todo puede ser construido como un módulo. Las únicas excepciones son el dispositivo donde reside el sistema de archivo de la raíz (/root) y el controlador del ratón PS/2. Convencionalmente, los módulos se encuentran en el directorio /lib/modules/versión, en que versión es la versión de tu sistema operativo. Para examinar qué módulos están cargados en tu sistema puedes utilizar el comando lsmod. Parámetros de operación. Varios módulos del núcleo fueron diseñados con el conocimiento de que un solo tamaño no sirve para todos. Para aumentar la flexibilidad, algunos procedimientos especiales le permiten al administrador del sistema ajustar algunos parámetros sobre la marcha. Es posible ver y editar opciones del núcleo en tiempo de ejecución a través de archivos especiales que se encuentran en /proc/sys. Éstos simulan ser archivos estándar de Linux, pero en realidad son puertas traseras para entrar al núcleo. Sialgún archivo en /proc/sys contiene un parámetro que desee cambiar, deberá probar a escribir el nuevo valor en el archivo. Por desgracia, no todos los archivos permiten escritura (a pesar de sus permisos aparentes). Otra forma más permanente de ajustar los parámetros del sistema operativo es elcomando sysctl. Éste permite cambiar variables individuales desde la línea de comando o leyendo una lista de parejas de valores de la forma variable = valor desde un archivo. Por defecto, el archivo /etc/sysctl.conf se lee durante el proceso de boot y su contenido indica los valores iniciales de los parámetros del núcleo. NIVELES DE ARRANQUE. Una vez que el núcleo del sistema fue encontrado y se inició, el sistema operativo comienza a cargarse, se inicia el hardware, los discos están preparados, se asignan direcciones IP y se inician servicios. Para realizar estas tareas, en Linux se usa el programa init, cuya función es iniciar el sistema operativo y sus servicios. Las tareas que efectúa el proceso init son: Comprobar el sistema de archivos. Montar los sistemas de archivos. Activar la zona de memoria de intercambio. Activa los servicios del sistema. Activa la red.
Inicia los servicios de red del sistema. Limpiar los archivos temporales. Habilita el inicio de sesión a los usuarios del sistema. El proceso init es un estándar par a iniciar y apagar equipos Linux y UNIX,llamado SysV. Este estándar define qué estado debe tener un equipo en un determinado momento. Para lograr esto se usa un concepto denominado modo deejecución (runlevels). SysV usa siete niveles de ejecución (0-6): 0 – para la máquina. 1 – modo monousuario. 2 – multiusuario sin NFS. 3 – multiusuario total. 4 – No se usa. 5 – x-Windows. 6 – reiniciar el sistema. Cada distribución utiliza los modos de ejecución para diferentes fines aunque haya agunos niveles que son comunes, como el 0 que se usa para apagar el equipo, el 1 se utiliza como modo mono usuario, el 6 para reiniciar el sistema. Los demás modos de ejecución difieren ligeramente de una distribución a otra. En Ubuntu los modos del 2 – 5 se ejecutan en modo multiusuario mientras que en sistemas basados en RedHat, como Fedora, cambian de manera sutil. Como semuestra en la figura.