Gracias Gracias:  2
Me Gusta Me Gusta:  0
No me Gusta No me Gusta:  0
Mostrando resultados del 1 al 5 de 5

Tema: Diferencias entre servicios y procesos

  1. #1
    Fecha de Ingreso
    15-enero-2019
    Ubicación
    Argentina
    Mensajes
    139
    Post Thanks / Like
    Poder de Credibilidad
    1

    Diferencias entre servicios y procesos

    Hola gente!

    Primero quiero contarles un poco de mi, estudié Ing en Sistemas y administración de redes, y me dedico a dar soporte informático a empresas.
    Me especializo en Windows, simplemente porque es lo que hay en el mercado...
    Cuento esto, para que no me consideren novato por el tema que desarrollo aquí.

    En Windows, los procesos se diferencian de los servicios principalmente por tener entorno gráfico, es decir, que los servicios son aplicaciones que trabajan en segundo plano y no suelen ser visibles.
    Por eso, es que los servicios se declaran en el registro "servicios", y los procesos se declaran en "Run" o "RunOnce".
    *Esta definición la digo desde el punto de vista práctico. Sé que no es tan así y que tiene una definición mucho mas compleja.

    Acostumbrado a ese esquema, es que pensé que en Linux sería similar y me acabo de dar cuenta de que no.
    Creía que los servicios eran mostrados en Preferencias del sistema -> Arranque y apagado -> Servicios en segundo plano , pero no, ahí solo muestra los servicios del KDE y no de terceros.

    Descubrí que para que para ver todos los servicios hay que recurrir a consola:
    systemctl list-unit-files

    Para ver solo los activos:
    systemctl list-unit-files --state=enabled

    Para detener y deshabilitar alguno:
    systemctl stop servicio
    systemctl disabled servicio


    Y que todos los servicios se guardan como archivos de texto con la extension .services en: /etc/systemd/system/


    Lo que me sorprende, es que los servicios son mostrados como procesos por el KSysGuard, no los separa.

    Por ejemplo, acá muestro el servicio teamviewerd:

    servicio.jpg

    Y en la siguiente captura, ese servicio es mostrado como proceso por el KSysGuard:

    proceso.jpg



    Preguntas:

    1)_ Esta bien mi razonamiento?
    Es decir, que Linux considera que todas las aplicaciones son procesos (mas allá de su función) y que los servicios son simplemente procesos que son autoejecutados durante el inicio del sistema por Systemd.

    2)_ Existe alguna aplicación gráfica que muestre solo los servicios, brinden información de ellos y permita configurarlos?

    Saludos.
    Última edición por Tux83; 22-jul-2019 a las 19:29

  2. #2
    Fecha de Ingreso
    07-febrero-2007
    Ubicación
    Ourense
    Mensajes
    8.609
    Post Thanks / Like
    Poder de Credibilidad
    22
    Hola,

    @Tux83 al aprender Windows por lo general se enmascara un poco cómo son las cosas en la realidad para que a los usuarios del SO les resulte más fácil comprender las cosas. Luego vienen los problemas, claro

    Voy a intentar una explicación sencilla y si acaso haz las preguntas que quieras.

    Las aplicaciones en realidad, desde el punto de vista del sistema, no son muy interesantes. Una aplicación es un conjunto de uno o más bloques de códigos que hacen lo que tú quieres. No obstante, el concepto "aplicación" en sí mismo es lógico. Repasa las definiciones de programación. Por ejemplo, un código para escribir "hola mundo" en pantalla requiere añadir las librerías, etc.

    Decimos entonces que una aplicación es una unidad lógica. Por ejemplo, Firefox es una aplicación para navegar por la web, dolphin es un gestor de ficheros, konsole es una aplicación para emular un terminal en un sistema gráfico.

    Un proceso, en cambio, es una unidad de código comprensible para el sistema, que generalmente hace una tarea o varias relacionadas. Una aplicación puede tener un proceso o varios: por ejemplo, recuerdas que Chrome/Chromium asocia cada pestaña de navegación con un proceso único; así si el proceso falla, puedes cerrar la pestaña y seguir con el software. Firefox acaba de implementar algo similar.

    Entonces un proceso es un pedazo de código. Técnicamente es un trozo de código con una zona de memoria asociada y algunas cosas más. Todo el software que se ejecuta en el computador (también en Windows) es un proceso. El proceso puede ser de aplicación, un comando de terminal, un servicio... en función de su utilidad.

    Sabemos qué es una aplicación (también los servicios son aplicaciones), y lo que es un comando de terminal; qué es un servicio?

    Un servicio es una aplicación específica que, literalmente, "presta un servicio" a otras procesos. Por ejemplo, una base de datos es un servicio. Técnicamente, un servicio es más bien la forma de poner en marcha esa aplicación, cerrarla o reiniciarla. Que sea un servicio implica necesariamente que tiene que poder comunicarse con otras aplicaciones, aunque esto no es obligatorio y es confuso: puedes utilizar servicios para ejecutar tareas puntuales o realizar acciones concretas al inicio.

    Así que podemos dividir los servicios en dos clases:

    *los servicios puramente dichos. Bases de datos, servidores de ficheros y otras aplicaciones que dan funcionalidad a otras aplicaciones.
    *los servicios de utilidad, que permiten utilizar el mecanismo de arranque de los servicios para lanzar aplicaciones, ejecutar comandos, etc.

    Por otra parte, los servicios no necesariemente se ejecutan al arranque del sistema. Se arrancarán así los que se configuren así.

    En openSUSE tenemos una herramienta muy conveniente para manejar servicios: YaST->Sistema->Gestor de Servicios (en versiones anteriores se llamó "niveles de ejecución" que era la nomenclatura tradicional para configurar el arranque de un sistema Linux antes de SystemD.

    Salud!!

  3. Gracias Tux83 ha agradecido este mensaje
  4. #3
    Fecha de Ingreso
    15-enero-2019
    Ubicación
    Argentina
    Mensajes
    139
    Post Thanks / Like
    Poder de Credibilidad
    1
    Hola karlggest,

    Se agradece tu respuesta y también el tiempo que te tomaste en responder.
    Esta todo muy bien explicado, las definiciones y también me sirve mucho el Administrador de servicios del Yast, para poder explorar y conocer mejor el funcionamiento interno del sistema.

    Si bien entiendo las diferencias, mi duda principal se originó porque el KSysGuard (monitor del sistema de KDE) muestra todos los servicios como si fueran procesos.
    Supongo que será porque lo programaron así y punto, para que muestre todo lo que esta cargado sin categorizar nada. En fin, no es importante.

    Sldos.
    Última edición por Tux83; 22-jul-2019 a las 19:48 Razón: Ortografía

  5. #4
    Fecha de Ingreso
    07-febrero-2007
    Ubicación
    Ourense
    Mensajes
    8.609
    Post Thanks / Like
    Poder de Credibilidad
    22
    Hola.

    No, igual no lo expliqué muy bien.

    Hace años aquí en el foro un usuario tenía un problema que consistía en que en cuanto el equipo estaba en reposo, se suspendía, y le fallaba la configuración de la energía para que no lo hiciera. Una forma burda y eficiente de resolverlo es lanzar un proceso que simplemente simulaba una pulsación de teclado cada cierto tiempo. Para que esto se ejecutase al inicio, se propuso un servicio que lo único que hacía era arrancar el script que ejecutaba esta tarea.

    Por su naturaleza, los servicios por su parte son pequeños fragmentos ejecutables (procesos) ejecutados por una aplicación principal o controladora de servicios. Antes teníamos un esquema sencillo que era init.d y ahora tenemos una cosa compleja llamada SystemD.

    Init era el primer proceso, e iba ejecutando los distintos servicios y comandos que ponían en marcha el sistema incluyendo dejar las aplicaciones residentes requeridas.

    Por ejemplo, el servicio postgresql en un servidor de prácticas que tengo tiene estos procesos (he omitido más)
    Código:
    # ps aux |grep postgre
    root       578  0.0  0.0 112676   972 pts/0    R+   20:58   0:00 grep --color=auto postgre
    postgres   855  0.0  0.5 235760  9984 ?        S    Xul09   5:08 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
    postgres   908  0.0  2.2 239092 41188 ?        Ss   Xul18   0:05 postgres: odoo test_base_practica [local] idle
    postgres   964  0.0  0.0 194684  1596 ?        Ss   Xul09   0:01 postgres: logger process   
    postgres   967  0.0  1.9 235972 36544 ?        Ss   Xul09   0:15 postgres: checkpointer process   
    postgres   968  0.0  1.9 235896 35744 ?        Ss   Xul09   2:33 postgres: writer process
    Por supuesto, para arrancar el servicio postgresql solo tengo que activarlo con systemctl como sabes: systemctl start postgresql y para pararlo systemctl stop postgresql

    Lo que hay en la memoria siempre serán procesos. Los servicios puedes verlos como aplicaciones específicas, igual que otras son del kernel, otras del sistema gráfico X, otras del escritorio de turno p.ej. Plasma. Hay un servicio que carga el sistema gráfico, por ejemplo. Ese servicio lanza el gestor de escritorios (p.ej. lightdm) y el lanzador del escritorio. Los servicios, den definitiva, hacen que sucedan cosas. Pero también son procesos y también lanzan procesos.

    En Windows es igual, pero la vista por defecto te muestra los servicios separados. Pero puedes buscar cualquier servicio en la tabla de procesos si sabes como se llama.

    Salud!!

  6. Gracias Tux83 ha agradecido este mensaje
  7. #5
    Fecha de Ingreso
    15-enero-2019
    Ubicación
    Argentina
    Mensajes
    139
    Post Thanks / Like
    Poder de Credibilidad
    1
    Cita Iniciado por karlggest Ver Mensaje
    En Windows es igual, pero la vista por defecto te muestra los servicios separados. Pero puedes buscar cualquier servicio en la tabla de procesos si sabes como se llama.
    Acabo de buscar en W10 un servicio activo, lo identifiqué por el PID. Luego lo busqué en la solapa de proceso y existía ese PID pero con un nombre distinto y mas amigable.

    Tienes razón!.
    Es un error de interpretación mio, gracias por la explicación.

    Sldos.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Temas Similares

  1. ¿Diferencias entre OpenSUSE CD y DVD?
    By Gonzalo4018 in forum Instalación y Actualizaciones
    Respuestas: 3
    Último mensaje: 15-jul-2009, 23:19
  2. diferencias entre kde 4.0 y kde 4.1
    By rencymigk in forum Escritorios: KDE, Gnome, otros...
    Respuestas: 0
    Último mensaje: 01-dic-2008, 17:32
  3. diferencias entre kde 4.0 y kde 4.1
    By rencymigk in forum El Contubernio
    Respuestas: 0
    Último mensaje: 01-dic-2008, 17:32
  4. diferencias entre kde 4.0 y kde 4.1
    By rencymigk in forum General OpenSUSE
    Respuestas: 0
    Último mensaje: 01-dic-2008, 17:23
  5. Diferencias entre CD y DVD en 9.2
    By riven in forum General OpenSUSE
    Respuestas: 1
    Último mensaje: 20-mar-2005, 14:27

Marcadores

Normas de Publicación

  • No puedes crear nuevos temas
  • No puedes responder mensajes
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •