Sistema de arranque de Unix

Anuncio
Sistema de arranque de Unix
Alfaro Morales, Carlos.
Pretell Vega, Colbert.
Pérez Tranca, Cesar.
Ticlia De La Cruz, Leandro.
Trujillo 29 de mayo de 2009
1.
Resumen:
El siguiente informe consiste en brindar información al lector acerca de una
de las primeras fases de cualquier sistema operativo. Si deseamos aprender acerca de
los sistemas operativos, el sistema de arranque es un buen punto por el cual
empezar, es por eso que más adelante se detallara de forma clara acerca de que es lo
que ocurre internamente cuando ponemos en funcionamiento nuestras maquinas; es
decir desde que prendemos nuestra computadora hasta que finalmente esta lista para
ser usada. En esta oportunidad se ha creído conveniente estudiar el sistema de
arranque del sistema operativo Unix, debido a que Unix es uno de los pilares en el
área de sistemas operativos.
2.
Introducción:
El sistema operativo UNIX es un sistema complejo; los procesos de arranque
y detención de una máquina UNIX implican muchas tareas; deben realizarse
correctamente si se desea mantener el buen funcionamiento del sistema.
Cuando un sistema Unix arranca una de las tareas que obligatoriamente ha de realizar
es incorporar diferentes sistemas de ficheros - discos completos, una partición, una
unidad de CD-ROM. A la jerarquía de directorios Unix; este proceso se
llama montaje, y para realizarlo generalmente se utiliza la orden mount. Es
obligatorio montar al menos un sistema de ficheros durante el arranque, el sistema
raíz (`/'), del que colgarán todos los demás.
Aunque lo dicho aquí es aplicable en general, el proceso de arranque es dependiente
de hardware: puede haber diferencias para un equipo en particular.
Ahora que ya tenemos una idea acerca del tema principal en el que nos
introduciremos, pasaremos a estudiar en forma mas detallada el proceso de arranque
del sistema operativo Unix.
3.
4.
Terminos Claves :

Master Boot Record: MBR casi siempre se refiere al sector de
arranque de 512 bytes, o el partition sector de una partición para
ordenadores compatibles con IBM.
La estructura del MBR está definida por una convención
independiente de los sistemas operativos. Los primeros 446 bytes
están reservados para código de programas. Los próximos 64 bytes
ofrecen espacio para una tabla de particiones con hasta 4 entradas y los
últimos 2 bytes deben contener una “cifra mágica” (AA55): un MBR
que tenga otra cifra será tratado como no válido por parte de la BIOS y
de todos los sistemas operativos de PC.

Bootstrapping: Proceso de levantarse asi iniciando todos sus
servicios.
Contenido:
Para iniciar el sistema desde un estado inactivo, se realiza una secuencia de
pasos conocido como bootstrap. El procedimiento de arranque varía según el tipo de
máquina y nivel de ejecución pero el objetivo es el mismo en todos ellos: obtener una
copia del sistema operativo en la memoria principal e iniciar su ejecución.
Generalmente, cuando se enciende el ordenador, se instruye a la máquina a cargar un
programa de bootstrap desde el microcódigo. El procedimiento de bootstrap lee el
bloque 0 (boot block) del sistema de archivos principal y lo carga en memoria. El
programa contenido en el boot block carga el kernel desde el sistema de archivos y
después transfiere el control a la dirección de inicio del núcleo, para que el núcleo
comience a ejecutarse.
El kernel inicializa sus estructuras de datos internas, monta el sistema de archivos
principal y prepara el entorno para el proceso 0. Una vez preparado el entorno, el
sistema comienza a ejecutarse como el proceso 0; luego se bifurca (se desdobla con
la llamada al sistema fork) creando un nuevo proceso, el proceso 1. El proceso 0 se
convierte en el proceso swapper (intercambiador) que será el encargado de manejar
la asignación de espacio de direccionamiento entre la memoria principal y los
dispositivos de swap. El proceso 0 o proceso swapper se ejecutará en modo kernel.
Por otra parte, el proceso 1 realiza varias inicializaciones y pasa a ejecutarse en modo
usuario. Luego ejecuta el programa /usr/etc/init. Al proceso 1 se le llama
normalmente como el proceso init porque es el responsable de la inicialización de
nuevos procesos; o dicho de otra forma, todos los procesos en el sistema, excepto el
proceso swapper, descienden del proceso init.
El proceso init es un proceso dispatcher (despachador) y produce, entre otros, los
procesos para que los usuarios puedan conectarse al sistema. Normalmente ejecuta la
secuencia de órdenes del script /etc/rc.boot para comprobar los sistemas de archivos
y posteriormente ejecuta las órdenes del etc/rc y /etc/rc.local para comenzar las
operaciones de multiusuario; en otro caso, se comenzaría en modo monousuario. En
operaciones de multiusuario, el papel de init es crear un proceso por cada puerto del
terminal en el cuál un usuario pueda conectarse. Para iniciar estas operaciones, lee el
archivo /etc/ttytab y ejecuta, normalmente, la orden /usr/etc/getty por cada terminal
especificado en el archivo que tenga el campo de status a on. getty abre e inicializa la
línea del terminal y ejecuta la orden login para permitir la conexión de usuarios.
Básicamente, la orden login actualiza los archivos de accounting, imprime el mensaje
del día, informa de la existencia de algún correo y muestra la fecha de la última
conexión. Por último, login inicia un intérprete de órdenes basándose en las
especificaciones encontradas en el archivo /etc/passwd. Cuando se abandona el shell,
el proceso init elimina la entrada apropiada del archivo /etc/utmp, el cuál registra los
usuarios actuales, y realiza una entrada en el archivo /etc/wtmp, el cuál contiene un
histórico de las conexiones y desconexiones.
Los procesos en un sistema UNIX pueden ser procesos de usuario, procesos daemon
o procesos del kernel. Los procesos de usuarios, la mayoría, se asocian con usuarios
de un terminal. Los procesos daemon no se asocian con ningún usuario pero hace
funciones del sistema, tales como la administración y control de redes, ejecución de
actividades dependientes del tiempo, spooling de impresión, etc... Los procesos
daemon se ejecutan en modo usuario.
Los procesos del kernel se ejecutan sólo en modo kernel. Son creados por el proceso
0 antes de que éste se convierta en el proceso swapper. Los procesos del kernel son
similares a los procesos daemon (proporcionan servicios del sistema) pero ellos
tienen un mayor control sobre las prioridades de ejecución ya que su código es parte
del kernel. Ellos pueden acceder a algoritmos del kernel y a estructuras de datos
directamente sin tener que usar llamadas al sistema; por ello son extremadamente
potentes. Sin embargo no son tan flexibles como los procesos daemon, porque el
núcleo del sistema operativo debe ser recompilado para poder cambiarlos.
La siguiente imagen muestra un resumen de lo que se acaba de describir
anteriormente.
5.
Conclusiones:




6.
El arranque de Unix por ser un sistema operativo complejo, necesita
de que se realicen adecuadamente.
El arranque de Unix es base para los diferentes sistemas operativos que
son parecidos a Unix como Linux, Solaris, AIX , etc.
El kernel en la mayoría de los sistemas Unix es llamado unix, y su
ubicación depende de la versión.
Estos dispositivos pueden cargarse automáticamente o pueden ser
mostrados en una lista donde podemos escoger con cual comenzar
Referencias Bibliográficas:





La Wikipedia: http://www.wikipedia.org
Información sobre BIOS: http://www.bioscentral.com
Kernel Unix: http://www.kernel.org
El sistema de arranque.htm
Curso
de
Administración
http://www.ArranqueyDetenciondelSistema.htm
Unix:
Documentos relacionados
Descargar