Quiero saber cuáles son las diferencias en el comportamiento de un demonio, proceso y servicio que se ejecuta en Ubuntu.
Quiero saber cuáles son las diferencias en el comportamiento de un demonio, proceso y servicio que se ejecuta en Ubuntu.
Respuestas:
Daemons : Daemon no significa Disk and Execution Monitor ( http://www.takeourword.com/TOW146/page4.html ). Son los procesos que se ejecutan en segundo plano y no son interactivos. No tienen terminal de control.
Realizan ciertas acciones en momentos predefinidos o en respuesta a ciertos eventos. En * NIX, los nombres de los demonios terminan en d .
Servicios : en Windows, los demonios se denominan servicios .
Si se pregunta por qué * NIX tiene un comando llamado servicio , solo se usa para ejecutar scripts de inicio (abreviatura para el nivel de secuencia de comandos de inicialización ).
Proceso : el proceso es un programa en ejecución. En un instante de tiempo particular, puede estar ejecutándose , durmiendo o zombie (proceso completado, pero esperando que el proceso padre recoja el valor de retorno).
Fuentes y más información :
Un demonio es un fondo, no interactiva del programa . Se separa del teclado y la pantalla de cualquier usuario interactivo. La palabra demonio para denotar un programa de fondo es de la cultura Unix; No es universal.
Un servicio es un programa que responde a solicitudes de otros programas a través de algún mecanismo de comunicación entre procesos (generalmente a través de una red). Un servicio es lo que proporciona un servidor. Por ejemplo, el servicio de mapeo de puertos NFS se proporciona como un servicio de mapeo de puertos separado, que se implementa como el portmapd
demonio.
Un servicio no tiene que ser un demonio, pero generalmente lo es. Una aplicación de usuario con una GUI podría tener un servicio integrado: por ejemplo, una aplicación para compartir archivos. Otro ejemplo es el servicio X Window, que es todo menos en segundo plano: se hace cargo de su pantalla, teclado y dispositivo señalador. Es un servicio porque responde a solicitudes de aplicaciones (para crear y manipular ventanas, etc.), que incluso pueden estar en cualquier otro lugar de la red. Pero el servicio X también responde a cada pulsación de tecla y movimiento del mouse.
Un proceso es uno o más hilos de ejecución junto con su conjunto compartido de recursos, el más importante de los cuales son el espacio de direcciones y los descriptores de archivos abiertos. Un proceso crea un entorno para estos subprocesos de ejecución que parece que tienen una máquina completa para ellos: es una máquina virtual.
Dentro de un proceso, los recursos de otros procesos, y del núcleo, son invisibles y no son accesibles directamente (al menos no a un hilo que está ejecutando código de espacio de usuario). Por ejemplo, no hay forma de referirse a los archivos abiertos de otro proceso, o su espacio de memoria; es como si esas cosas ni siquiera existieran.
El proceso, y su relación con el núcleo y otros procesos, tal vez constituye la abstracción más importante en los sistemas operativos tipo Unix. Los recursos del sistema están compartimentados en procesos, y se entiende que casi todo sucede dentro de un proceso u otro.