Anda di halaman 1dari 6

Universidad Autónoma del Estado de México

Centro Universitario UAEM Valle de Teotihuacan

L I C E N C I AT U R A I N G E N I E R O E N C O M P U TA C I Ó N

Administración y Seguridad de Sistemas Operativos

Tarea

Proceso de arranqué (Linux, Unix)

Estudiante:
Gómez González Abraham

Docente:
L. I. Claudio Efraín Flores Aguirre

Semestre:
9° Semestre
Periodo Agosto 2009-Enero 2010

NOMBRE Y FIRMA DEL NOMBRE Y FIRMA DEL


ALUMNO PROFESOR

1
Índice

1. Proceso de Arranque del sistema Operativo LINUX………………………...….3


1.1 La BIOS……………………..…………………………………………..….3
1.2 El gestor de arranque…………………………………………….……….3

2. Proceso de Arranque del sistema Operativo Solaris (UNIX)…..………...…….5


3. Bibliografía...………..………………………….……………………………………6

2
Proceso de Arranque del sistema Operativo LINUX

La BIOS

Cuando un ordenador se carga, el procesador busca al final de la memoria del sistema


por Basic Input/Output System o el programa BIOS y lo ejecuta. La BIOS controla no sólo el
primer paso del proceso de arranque, sino que también proporciona una interfaz de bajo nivel
para dispositivos periféricos. Por este motivo se escribe tan sólo en modo lectura, memoria
permanente y está siempre disponible para el uso.

Una vez que se haya cargado, la BIOS chequea los periféricos y localiza un dispositivo
con el que arrancar el sistema. Habitualmente, en primer lugar comprueba cualquier disquete y
unidades de CD-ROM presente por los medios de arranque, y a continuación si esto falla, echa
un vistazo a las unidades de disco duro del sistema. El orden de las unidades necesario para
arrancar puede ser controlado con una configuración de la BIOS. La BIOS carga en memoria
cualquier programa que resida en el primer sector de este dispositivo, llamado Master Boot
Record o MBR. La MBR sólo tiene 512 bytes de tamaño y contiene las instrucciones de código
de máquina para el arranque del equipo, llama un gestor de arranque así como también la tabla
de particiones. Una vez que la BIOS haya encontrado y cargado el gestor de arranque en
memoria, le deja el control del proceso de arranque a éste.

El gestor de arranque

Los gestores de arranque de Linux se dividen en dos etapas. La primera es un código


binario de máquina pequeña en el MBR. Su única función es la de localizar el gestor de
arranque de la segunda etapa y cargar la primera parte de éste en memoria.

GRUB es el gestor de arranque más nuevo y tiene la ventaja de ser capaz de leer
particiones ext2 y ext3 y cargar su archivo de configuración — /boot/grub/grub.conf — al
momento de arranque.

LILO, la segunda etapa del gestor de arranque es usar la información del MBR para determinar
las opciones de arranque disponibles para el usuario. Esto significa que cada vez que se
produzca un cambio en la configuración o actualice el kernel de forma manual, debe ejecutar el
comando /sbin/lilo -v -v para escribir la información apropiada al MBR.

Una vez que el gestor de arranque de la segunda etapa está en memoria, presenta al
usuario con la pantalla inicial. En esta pantalla el usuario puede usar las flechas direccionales
para escoger el sistema operativo o kernel con el que desea arrancar y presione la tecla [Intro].
Si no se presiona ninguna tecla, el gestor de arranque carga la selección predeterminada luego
de un período de tiempo de espera.

El gestor de arranque luego coloca la imagen apropiada de initial RAM disk, conocida
como initrd, en la memoria. El initrd es usado por el kernel para cargar controladores
necesarios para arrancar el sistema. Esto es muy importante si posee unidades de disco duro
SCSI o si está usando el sistema de ficheros ext3.

Una vez que el kernel y la imagen initrd se cargan en memoria, el gestor de arranque
controla el proceso de arranque para el kernel.

Cuando el kernel se carga, inmediatamente se inicializa y configura la memoria del


ordenador y el diferente hardware conectado al sistema, incluyendo procesadores, subsistemas
de entrada/salida y dispositivos de almacenamiento. A continuación buscará la imagen initrd en
una ubicación predeterminada en memoria, la descomprimirá, la montará y cargará todos los
controladores necesarios. A continuación inicializa los dispositivos virtuales relacionados con el
sistema de ficheros, tal como LVM o software RAID antes de desmontar la imagen del disco
initrd y liberar toda la memoria que la imagen del disco ocupó anteriormente.

3
El kernel luego crea un dispositivo root, monta la partición root como sólo lectura y
libera cualquier memoria no utilizada.

Llegados a este punto, el kernel está cargado en memoria y operativo. Sin embargo,
como no hay aplicaciones de usuario que permitan la entrada significativa de datos al sistema,
no se puede hacer mucho más.

Para configurar el entorno de usuario, el kernel inicia el programa /sbin/init.

El programa /sbin/init (también llamado init) coordina el resto del proceso de arranque y
configura el ambiente del usuario.

Cuando el comando init arranca, se vuelve el padre o abuelo de todos los procesos que
comienzan automáticamente en el sistema. Primero, ejecuta el script /etc/rc.d/rc.sysinit, que
establece la ruta a otros programas, activa el swap, controla los sistemas de fichero y y se
encarga de todo lo que el sistema necesita tener hecho al momento de la inicialización. Por
ejemplo, la mayoría de los sistemas usan un reloj, por lo tanto, en ellos, el rc.sysinit tendrá una
referencia /etc/sysconfig/clock para inicializar el reloj. Otro ejemplo es si hay procesos en los
puertos seriales especiales que deben ser inicializados, rc.sysinit ejecutará el archivo
/etc/rc.serial.

El comando init luego ejecuta el script /etc/inittab, que describe cómo el sistema
debería configurarse en cada nivel de ejecución de SysV init. Entre otras cosas, /etc/inittab
configura el nivel de ejecución por defecto y establece que /sbin/update debería de ejecutarse
cuando se arranque un nivel de ejecución en concreto.

A continuación, el comando init configura la librería de función de fuente,


/etc/rc.d/init.d/functions, para el sistema. Esto indica el modo en que empezar o matar un
programa y cómo determinar el PID del programa.

El programa init inicia todos los procesos de fondo buscando en el directorio apropiado
rc por el nivel de ejecución especificado por defecto en /etc/inittab. Los directorios rc están
numerados para corresponder al nivel de ejecución que represente. Por ejemplo,
/etc/rc.d/rc5.d/ es el directorio para el nivel de ejecuación 5.

Cuando se arranca el nivel de ejecución 5, el programa init consulta el directorio


/etc/rc.d/rc5.d/ para determinar qué procesos iniciar o parar.

Casi todos los ficheros en /etc/rc.d/rc5.d/ son enlaces simbólicos apuntando a los
scripts localizados en el directorio /etc/rc.d/init.d/. Los enlaces simbólicos se usan en cada uno
de los directorios rc de manera que los niveles de ejecución puedan ser reconfigurados al
crear, modificar y eliminar los enlaces simbólicos sin que afecte a los scripts actuales a los que
se refiere.

El nombre de cada enlace simbólico inicia con K o S. Los enlaces K son procesos
eliminados en ese nivel de ejecución, mientras que aquellos que inician por S son procesos
iniciados.

El comando init en primer lugar detiene todos los enlaces simbólicos de K en el


directorio mediante la ejecución del comando /etc/rc.d/init.d/<command> stop, en el que
<command> es el proceso a matar. A continuación inicia todos los enlaces simbólicos S al
ejecutar /etc/rc.d/init.d/<command>. start.

Cada uno de los enlaces simbólicos se numera para dictaminar el orden de inicio.
Puede cambiar el orden en el que los servicios inician o paran al cambiar el número. Mientras
más bajo es el número, más rápido se arrancará. Los enlaces simbólicos con el mismo número
se inician de modo alfabético.

4
Después que el comando init ha progresado a través del directorio adecuado rc para el
nivel de ejecución, el script /etc/inittab bifurca los procesos /sbin/mingetty para cada consola
virtual (intérpretes de comando de registro, login) ubicada para el nivel de ejecución. Los
niveles de ejecución del 2 al 5 obtienen todas las seis consolas virtuales, mientras que el nivel
de ejecución 1 (modo usuario único) obtiene tan sólo uno y lo niveles de ejecución del 0 al 6 no
obtienen ninguno. El proceso /sbin/mingetty abre las rutas de la comunicación para los
dispositivos tty , establece sus modos, imprime el indicador de inicio de sesión, toma el nombre
del usuario, e inicia el proceso de inicio de sesión para el usuario.

En el nivel de ejecución 5, el /etc/inittab ejecuta un script llamado /etc/X11/prefdm. El


script ejecuta prefdm ejecuta su gestor de pantalla preferido para X — gdm, kdm, o xdm,
dependiendo de los contenidos del archivo /etc/sysconfig/desktop.

En este punto, el sistema está operando en el nivel de ejecución nivel 5 y mostrando la


pantalla de inicio de sesión.

Diagrama

SHF (Sistema Jerárquico de Archivos)


ext2 /ext3 journal
/
/ home
/ var
/ dev
Swap
Proceso de arranque

HW CPU
Bios RAM

MBR / FAT

Gestor de Arranque ( Grup /Lilo)


Corel / kernel
Aplicaciones (Demonios)

Proceso de Arranque del sistema Operativo Solaris (UNIX)

1. Debe cargarse en la memoria una copia del núcleo, (operación denominada bootstrap).
2. Se deben inicializar algunas interfaces básicas de hardware; entre ellas, el reloj que
proporciona interrupciones periódicas.
3. El Kernel también prepara algunas estructuras de datos que abarcan una sección de
almacenamiento temporal para transferencia de información entre terminales y
procesos, una sección para almacenamiento de descriptores de archivos y una variable
que indica la cantidad de memoria principal.
4. El Kernel inicializa un proceso especial, llamado proceso 0. Mediante una llamada a
una rutina del sistema (fork), que funciona por un mecanismo de duplicación de
procesos.
5. El Kernel asigna una estructura de datos y establece apuntadores a una sección
especial de la memoria, llamada tabla de procesos, que contendrá los descriptores de
cada uno de los procesos existentes en el sistema.
6. Después de haber creado el proceso 0, se hace una copia del mismo, con lo que se
crea el proceso 1; éste muy pronto se encargará de "dar vida" al sistema completo,
mediante la activación de otros procesos que también forman parte del núcleo. Es
decir, se inicia una cadena de activaciones de procesos, entre los cuales destaca el
conocido como despachador, o scheduler, que es el responsable de decidir cuál
proceso se ejecutará y cuáles van a entrar o salir de la memoria central. A partir de ese
momento se conoce el número 1 como proceso de inicialización del sistema, init.

5
7. Init crea otro proceso, que espera pacientemente a que alguien entre en sesión en
alguna línea de comunicación. Cuando esto sucede, realiza ajustes en el protocolo de
la línea y ejecuta el programa login, que se encarga de atender inicialmente a los
nuevos usuarios. Si la clave del usuario, y la contraseña proporcionadas son las
correctas, entonces entra en operación el programa Shell, que en lo sucesivo se
encargará de la atención normal del usuario que se dio de alta en esa terminal.
A partir de ese momento el responsable de atender al usuario en esa terminal es el
intérprete Shell.

Bibliografía

htttp://www.monografias.com/Computación/Sistemas_Operativos

Anda mungkin juga menyukai