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
Fuente: www.wikipedia.org
No hay comentarios:
Publicar un comentario