¿Cuál es la diferencia entre 'Aplicación' y 'Proceso' en OS X?

7

A medida que incursiono cada vez más con los ajustes de AppleScript y OS X en general, llego a esta pregunta:

¿Cuál es la diferencia entre estas dos palabras en términos de las operaciones internas de OS X? ¿Algunos procesos operan dentro de las aplicaciones (o vica versa), o dos procesos operan como parte de una 'aplicación' en términos de lo que el usuario interactúa con GUI (o, vica versa)?

También - Vengo originalmente de un fondo de Microsoft Windows. ¿La 'aplicación' y 'proceso' tienen alguna relación con el 'servicio' en OS X, (dado que 'servicio' y 'programa' son cosas diferentes en Windows), y de hecho hay una tercera categoría en OS X llamada 'servicio' como bien?

    
pregunta bmike 18.05.2014 - 11:19

5 respuestas

5

La manera estándar de abordar estos términos es decir que una "aplicación" es un programa estático específico en el almacenamiento. Es un fragmento de código almacenado en un disco duro, un CD-ROM o en otro lugar.

Un "proceso", por otro lado, es una instancia específica de un programa en ejecución . Es decir. está registrado por el sistema operativo como ejecutable o capaz de ejecutarse siempre que el sistema operativo lo desee.

Si toma, por ejemplo, Calculator.app, es una aplicación única. Sin embargo, puede tener varios procesos de Calculadora si inicia el programa varias veces.

Como escribió chananelb, también es posible tener procesos que no sean "solo" aplicaciones comunes que se hayan iniciado. Esto podría ser, por ejemplo, procesos del kernel, o simplemente procesos ordinarios que generan subprocesos para realizar tareas específicas.

Con respecto a los servicios, la respuesta de Chanelelb te lleva en la dirección equivocada. Su respuesta le informa sobre lo que se denomina "Servicio" en Mac OS X ... pero usted preguntó acerca de lo que se denomina "Servicio" en Windows.

La contraparte de un servicio de Windows es un Daemon en Mac OS X (y otros sistemas derivados de Unix).

Los demonios normalmente se clasifican ejecutándose en el "fondo", es decir, sin interacción directa del usuario a través de una interfaz de usuario gráfica o no gráfica. Sin embargo, la distinción es un poco borrosa, ya que un Daemon podría, por ejemplo, tener una interfaz web para la interacción del usuario.

Los demonios en Mac OS X están controlados por el programa launchd, que es responsable de, por ejemplo, iniciar los demonios en el arranque y permitir que el usuario inicie y detenga los demonios cuando lo solicite.

    
respondido por el jksoegaard 18.05.2014 - 13:25
4

Según la Guía de programación de aplicaciones para Mac ,

  

Usas Cocoa para escribir aplicaciones para OS X.

De acuerdo con esa definición, aplicaciones deben empaquetarse en Paquetes de aplicaciones :

  

Los paquetes de aplicaciones son uno de los tipos más comunes de paquetes creados por los desarrolladores. El paquete de aplicaciones almacena todo lo que la aplicación requiere para una operación exitosa.

En la misma página, dice:

  

Nota: Aunque los paquetes son una forma de empaquetar código ejecutable, no son la única manera que se admite. Los scripts de shell de UNIX y las herramientas de línea de comandos no utilizan la estructura del paquete, ni tampoco las bibliotecas compartidas estáticas y dinámicas.

En base a eso, diría que Apple no considera que las herramientas de línea de comandos como ls sean "aplicaciones". Serían programas ejecutables o ejecutables .

Un process es cualquier instancia de un programa de computadora que está siendo ejecutado. Se podría crear un proceso ejecutando una aplicación o un ejecutable de Unix. (Los scripts de shell serían un tipo de archivo ejecutable donde /bin/sh u otro shell interpreta el script).

"Proceso" significa lo mismo en Windows (consulte la pestaña Proceso en el Administrador de tareas de Windows).

Servicio tiene tres significados diferentes en Mac OS X:

  • Podría referirse a un daemon , que es análogo a un servicio de Windows. Estos son procesos de fondo persistentes en todo el sistema que no pertenecen a la sesión de ningún usuario.

  • Podría referirse a una característica específica de Mac OS X que facilita la transferencia de datos entre aplicaciones . Por ejemplo, hay un servicio de "Crear una nueva nota adhesiva" que le permite convertir una selección de texto en una nota adhesiva.

  • También se puede usar en el sentido genérico de la palabra en inglés, como en Lanzar servicios . Launch Services es una API para abrir aplicaciones, y puede, por ejemplo, decidir cuál es la aplicación adecuada para manejar un tipo particular de archivo.

respondido por el 200_success 18.05.2014 - 20:20
2

Una aplicación es un proceso que puede generar subprocesos (conocidos como niños) pero algunos procesos son generados por el propio sistema operativo y es posible que no tengan una "aplicación" detrás de ellos. Esta es (a mi entender) la forma en que funciona Unix en general (procesos de iniciación de Unix).

Gracias, jksoegaard, lo siguiente es irrelevante, interpreté mal la pregunta. Soy algo nuevo. ¿Lo elimino o lo dejo?

Los servicios en OS X son algo similares al botón de compartir en Android: es una forma de enviar un fragmento de datos directamente desde la aplicación actual a otra diferente.

Un ejemplo sencillo es el texto: resaltar un texto y hacer clic con el botón derecho del mouse le mostrará el menú contextual con servicios en la parte inferior, al profundizar en ese menú le mostrará qué otras aplicaciones en su Mac tienen la capacidad de usar ese texto para algo. (por ejemplo, resumir, buscar en la web (Chrome), Spotlight, etc.).

Puede modificar los servicios en el panel de Preferencias del teclado en la pestaña 'Accesos directos' y crear los suyos propios en Automator, ver este artículo de Ars Technica para obtener más información.

    
respondido por el chananelb 18.05.2014 - 11:40
0

Aplicación: un programa de computadora que realiza trabajo útil no relacionado con la computadora en sí; una pieza de software que realiza una función particular para el usuario. Los ejemplos incluyen programas de procesamiento de textos, navegadores web, programas de presentación y sistemas de contabilidad.

Proceso: una serie de instrucciones que una computadora está ejecutando en un sistema operativo multitarea. Muchos procesos se ejecutan simultáneamente. Desde el punto de vista del usuario, los procesos pueden ser programas o partes de programas (como la rutina de edición y la rutina de impresión en un procesador de textos que puede imprimir mientras se edita).

Tenga en cuenta que los dos no son necesariamente mutuamente excluyentes. En pocas palabras, una aplicación es un conjunto de procesos agrupados que, para el usuario, aparecen como uno.

Definiciones de: Diccionario de Internet y términos informáticos

    
respondido por el njboot 18.05.2014 - 14:08
0

Para OSX, una aplicación es una aplicación que puede utilizar como usuario. Por otro lado, un proceso es cualquier ejecutable binario en ejecución, que también abarca aplicaciones. Una aplicación puede tener múltiples procesos ejecutándose, etc.

    
respondido por el John Keates 23.09.2016 - 15:15

Lea otras preguntas en las etiquetas