Arranque del Sistema
Al encender la PC se suceden una serie de eventos que desencadenan en la carga del Sistema Operativo. Esto ocurre de forma gradual. Las tareas involucradas son llevadas a cabo por distintos componentes. Veamos cada uno de ellos.
Arranque del Sistema
Al encender la PC intervienen:
BIOS. MBR. Gestor de arranque. El Kernel. Programa init. Runlevels (niveles de ejecucin)
Forma en que se cargan los
componentes
La BIOS (I)
BIOS: Basic Input/Output System. Sistema Bsico de Entrada/Salida. Manipula el proceso de arranque del Sistema. Almacenado en memoria Flash o ROM. Alojado en la placa madre de la PC. Aqu se guardan valores como Hora del Sistema, Nmero de discos duros, secuencia de arranque o inicializacin de los dispositivos, configuracin de puertos, etc.
La BIOS (II)
El proceso de arranque comienza al pulsar el botn de encendido. Se enviar la seal (PS_ON#) para que arranque la uente de alimentacin Se car!a el pro!rama almacenado en la "#OS. $a "#OS e%ecuta el POS&. Se comprueba el 'e!istro (aestro de )rranque ("' ((aster "oot 'ecord) para ver secuencia de arranque.
MBR (I)
Es el primer sector de un dispositivo de almacenamiento. (cilindro *+ cabeza *+ sector ,). El tamao de este sector es de -,. b/tes.
MBR (II)
Se comprueba si existe un cdigo firmado vlido (55AA en los ltimos 2 bytes) En caso que haya ms de un S.O. Instalado se carga el cdigo modificado por el Gestor de Arranque.
Gestor de Arranque (I)
Cargador de arranque bsico:
El proceso de carga del S.O. difiere de acuerdo a la arquitectura del PC. La primera etapa del gestor de arranque se aloja en el MBR. Se encarga de cargar el resto del gestor de arranque en memoria.
Gestor de Arranque (II)
Cargador de arranque de segunda etapa.
Aqu se encuentran los gestores de arranque propiamente dichos. Son programas limitados en operatividad. Diseados de forma exclusiva para preparar todos los recursos que necesitar el S.O. Para funcionar.
Gestor de Arranque (III)
Los ms populares son:
GRUB: GRand Unifier Bootloader LiLo: Linux Loader
LiLo (I)
Permite elegir uno entre varios Sistemas Operativos. Funciona en una gran variedad de FileSystems. Permite el arranque desde un Disco Rgido o discos externos. Gestor de facto en distribuciones antiguas. Hoy reemplazado por GRUB.
LiLo (II)
GRUB (I)
Desarrollado por el proyecto GNU. Programado en lenguaje ensamblador y en C. GRUB soporta 14 colores de fondo. Algunas distribuciones de GNU/Linux que incluyen GRUB utilizan fondos personalizados. Los usuarios de GRUB pueden tambin hacer y colocar sus propios fondos.
GRUB (II)
Proceso de inicio de GRUB
BIOS busca un dispositivo de inicio y pasa el control a MBR. Fase 1 de GRUB. Fase 1 carga la siguiente fase. La fase 1 puede cargar la fase 1.5 o la 2. La fase 1.5 de GRUB, ubicada en los siguientes 30 kb del disco, carga la fase 2. En GRUB 2, esta fase ha dejado de existir. La fase 2 de GRUB recibe el control, y presenta al usuario el men de inicio. GRUB carga el kernel seleccionado por el usuario, en la memoria y le pasa el control.
Configuracin de GRUB (I)
El archivo de configuracin de GRUB se aloja en /boot/grub/menu.lst. Modificando determinadas lineas del mismo es posible:
Cambiar el tiempo de espera de carga del S.O. Cambiar el S.O. Predeterminado. Cambiar el texto de los ttulos. Cambiar los colores.
Configuracin de GRUB (II)
Cambiar el tiempo de espera de carga del S.O:
timeout 3
Ubicamos la linea que dice: Aqu el 3 son los segundos que nos da para elegir un sistema. Si queremos mas tiempo, lo escribimos:
timeout 20
Configuracin de GRUB (III)
Cambiar el S.O. Predeterminado. Cambiar la linea default 0
## ## End Default Options ## title Ubuntu 8.04.1, kernel 2.6.24-19- eneri! root "#d0,0$ kernel %boot%&'linu(-2.6.24-19- eneri! root)UU*D)8fe0+9d1-0aae-4!b0-89e6-12,eb2fdef9b ro -uiet splas# initrd %boot%initrd.i' -2.6.24-19- eneri! -uiet title .ind.... 98 root "#d0,0$ kernel %boot%&'linu(-2.6.24-16- eneri! root)UU*D)8fe0+9d1-0aae-4!b0-89e6-12,eb2fdef9b ro -uiet splas# initrd %boot%initrd.i' -2.6.24-16- eneri! -uiet
Configuracin de GRUB (III)
Cambiar el texto de los ttulos:
Ubicamos la linea (por ejemplo)
title Ubuntu 8.04.1, kernel 2.6.24-19-generic
Aqu el ttulo es Ubuntu 8.04.1, kernel 2.6.24-19generic Si queremos cambiarlo:
title Ubuntu Sistema Linux
Configuracin de GRUB (IV)
Cambiar los colores del GRUB:
Ubicamos la linea
#prett c!l!r
Y ponemos por ejemplo
#prett c!l!r c!l!r c an"blue #$ite"re%
El Kernel (I)
Una vez elegido el S.O. Se carga el Kernel. El Kernel se encarga de:
Manejo de memoria Manejo de discos Manejo de hardware en general Planificacin y comunicacin de Procesos
El Kernel (II)
Dos etapas diferenciales:
Carga Ejecucin
El kernel se encuentra comprimido en un archivo, que se descomprime y carga en memoria. Una vez cargado en memoria, comienza la ejecucin.
El Kernel (III)
Ejecucin del Kernel:
El Kernel (III)
Luego de cargado en memoria, inicializa todos los controladores de dispositivos. Luego ejecuta la llamada al sistema init(). Init() es siempre el primer proceso en comenzar su ejecucin dentro del sistema (su nmero de proceso es siempre 1).
Runlevels
Modo de operacin en los S.O. que implementan el estilo de sistema de arranque de UNIX. El programa init() lee el archivo /etc/inittab para determinar el comportamiento para cada nivel de ejecucin. La mayora de las distribuciones Linux, definen los siguientes niveles de ejecucin:
0 (apagar el sistema) 1 (modo monousuario) 2 al 5 (modos multiusuario) 6 (reiniciar el sistema)