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

A medida que incursiono cada vez más en 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? Por ejemplo, ¿algunos procesos operan 'dentro' de las aplicaciones (o viceversa), o dos procesos operan como parte de una 'aplicación' en términos de con qué interactúa el usuario? GUI-sabio (o, vica versa)?

Además, vengo originalmente de un fondo de Microsoft Windows. ¿'Aplicación' y 'proceso' tienen alguna relación con '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?

Respuestas (5)

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

Por otro lado, un "proceso" es una instancia específica de un programa en ejecución . Es decir, el sistema operativo lo registra como ejecutándose o pudiendo ejecutarse cuando el sistema operativo lo desee.

Si toma, por ejemplo, Calculator.app, es una sola aplicación. 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 son "solo" aplicaciones ordinarias que se han iniciado. Eso podría ser, por ejemplo, procesos del núcleo, o simplemente procesos ordinarios que generan subprocesos para realizar tareas específicas.

Con respecto a los servicios, la respuesta de I chananelb lo lleva en la dirección equivocada. Su respuesta le informa sobre lo que se llama un "Servicio" en Mac OS X ... pero usted preguntó sobre lo que se llama un "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 "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, por ejemplo, podría 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, por ejemplo, de iniciar los demonios en el arranque y permitir que el usuario inicie y detenga los demonios cuando lo solicite.

De acuerdo con la Guía de programación de aplicaciones de Mac ,

Usas Cocoa para escribir aplicaciones para OS X.

Según esa definición, las 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 el código ejecutable, no son la única forma admitida. Los scripts de shell de UNIX y las herramientas de línea de comandos no utilizan la estructura de paquetes, ni tampoco las bibliotecas compartidas estáticas y dinámicas.

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


Un proceso es cualquier instancia de un programa de computadora que se está ejecutando. Se puede crear un proceso ejecutando una aplicación o un ejecutable de Unix. (Los scripts de shell serían una especie de ejecutable donde /bin/shu 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 demonio , que es análogo a un servicio de Windows. Estos son procesos en segundo plano persistentes en todo el sistema que no pertenecen a la sesión de ningún usuario.

  • Podría referirse a una función específica de Mac OS X que facilita la transferencia de datos entre aplicaciones . Por ejemplo, hay un servicio "Crear 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 Servicios de lanzamiento . Launch Services es una API para abrir aplicaciones y puede, por ejemplo, decidir cuál es la aplicación adecuada para manejar un tipo de archivo en particular.

Una aplicación es un proceso que puede generar subprocesos (conocidos como hijos), pero algunos procesos son generados por el propio sistema operativo y es posible que no tengan una "aplicación" per se detrás de ellos. Esta es (según tengo entendido) la forma en que funciona Unix en general (introducción de Unix - procesos).

Gracias jksoegaard, lo siguiente es irrelevante, leí mal la pregunta. Soy algo nuevo, ¿lo borro o lo dejo?

Los servicios en OS X son algo similares al botón de compartir en Android: es una forma de enviar una parte de los 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 le mostrará el menú contextual con los servicios en la parte inferior; profundizar en ese menú le mostrará qué otras aplicaciones en su Mac tienen la capacidad de usar ese texto para algo (por ejemplo, resumir , búsqueda web (Chrome), Spotlight, etc.).

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

Aplicación: un programa de computadora que realiza un trabajo útil no relacionado con la computadora misma; una pieza de software que realiza una función particular para el usuario. Los ejemplos incluyen programas de procesamiento de texto, 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 texto que puede imprimir mientras edita).

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

Definiciones de: Diccionario de términos de Internet e informática

Estos no son los términos que se usan en OSX: OSX tiene definiciones mucho más específicas que son lo que el OP necesita saber
Generales, si. ¿Aplicable a OSX? Completamente. La pregunta en sí es lo suficientemente amplia como para que estas definiciones sean perfectamente aplicables. Un proceso es un proceso y una aplicación es una aplicación, como se define anteriormente, independientemente de si está ejecutando Windows u OSX. Los términos específicos de OSX 'agentes de lanzamiento, demonios de lanzamiento, etc.' no son necesarios para responder la pregunta; además, pueden ser engañosos. Mi respuesta es clara y directa. Saludos.
Para Applescript, existe una definición muy estricta de Aplicación, y en OSX solo llamaría Aplicaciones a los paquetes de aplicaciones empaquetadas (no puedo encontrar todos los documentos de referencia exactos de Apple en este momento, así que no puedo escribir una respuesta todavía)

Para OSX, una aplicación es una aplicación que puede usar como usuario. Un proceso, por otro lado, es cualquier ejecutable binario en ejecución, que también incluye aplicaciones. Una aplicación puede tener varios procesos en ejecución, etc.