miércoles, 14 de marzo de 2012


INICIALIZACION

Cuando el PC arranca lo primero que se ejecuta es un proceso almacenado en la ROM-BIOS que se encarga de realizar pruebas de funcionamiento e inicializaciones, este proceso se llama POST (Power On Self-Test). Al terminar este proceso se carga el primer sector del disco en la dirección 7C00, donde busca un código valido de inicio. Este código de inicio apunta a una dirección a la cual salta el sistema para inicial el Kernel del sistema.
En los sistemas operativos basados en Unix el primer proceso (PID 1) que el Kernel arranca el es el proceso init el cual se encarga de iniciar todos los demás procesos. El init inicia como un proceso Daemon.

PROCESO DAEMON

En un sentido técnico, un proceso de un sistema basado en Unix es un Daemon cuando su proceso padre es terminado y el proceso init es asignado como nuevo padre del proceso Daemon, además, el proceso daemon no posee ninguna interfaz con el usuario, esto quiere decir que el proceso es iniciado y se ejecuta en segundo plato sin ninguna intervención del usuario, además de esto el proceso Daemon no puede ser terminado o se reiniciara automáticamente en caso de ser terminado.
En MS-DOS y en Windows los programas llamados Servicios de Windows realizan funciones de Daemons.

PROCESO ZOMBIE
En un sistema operativo basado en Unix un proceso zombie es un proceso que ha completado su ejecución pero aun tiene una entrada en la tabla de procesos, esta entrada se sigue necesitando para que el proceso padre pueda leer el retorno del proceso.
El proceso zombie no se puede terminar con comandos como kill.
Cuando un proceso termina toda la memoria y los recursos asociados con el son liberados pero el proceso continua en la tabla de procesos, el proceso padre puede leer el retorno usando la llamada al sistema "wait", solo así el zombie es removido de la tabla. La llamada wait debe ser ejecutada en un proceso secuencial pero es comúnmente ejecutada en un manejador de eventos por la señal SIGCHLD que recibe el padre cuando el hijo muere.
Para remover Zombies del sistema se puede mandar SIGCHLD al padre manualmente usando el comando kill, si el proceso padre se rehúsa a enterrar al zombie, el siguiente paso es remover el proceso padre y el init se convertirá en el nuevo padre. El proceso init periódicamente ejecuta la llamada al sistema wait para terminar todos los zombies que estén asociados a él.

Fuente: www.wikipedia.org

No hay comentarios:

Publicar un comentario