Qual è la differenza tra "Applicazione" e "Processo" in OS X?

7

Mentre mi diletto sempre più con AppleScript e OS X, in generale, arrivo a questa domanda:

Qual è la differenza tra queste due parole in termini di operazioni interne di OS X - ad es. alcuni processi operano in "applicazioni" (o viceversa), o due processi operano come parte di una "applicazione" in termini di ciò che l'utente interagisce con la GUI (o, viceversa)?

Inoltre, arrivo originariamente da uno sfondo di Microsoft Windows. 'L'applicazione' e 'processo' hanno una relazione con 'servizio' in OS X, (dato 'servizio' e 'programma' sono cose diverse in Windows), e c'è davvero una terza categoria in OS X chiamata 'servizio' come bene?

    
posta bmike 18.05.2014 - 11:19
fonte

5 risposte

5

Il modo standard di approcciare questi termini è dire che una "applicazione" è un programma statico specifico in memoria. È un pezzo di codice memorizzato su un disco rigido, un CD-ROM o altrove.

Un "processo" d'altra parte è un'istanza specifica di un programma in esecuzione . Cioè è registrato dal sistema operativo come eseguibile o in grado di essere eseguito ogni volta che il sistema operativo lo percepisce.

Se prendi ad esempio Calculator.app, è una singola applicazione. Tuttavia è possibile avere più processi di Calcolatrice se si avvia il programma più volte.

Come ha scritto Chananelb, è anche possibile avere processi che non sono "solo" applicazioni ordinarie che sono state avviate. Potrebbe trattarsi ad esempio di processi del kernel o semplicemente di processi ordinari che generano sottoprocessi per svolgere compiti specifici.

Per quanto riguarda i servizi, la risposta di chananelb ti porta nella direzione sbagliata. La sua risposta ti dice su cosa si chiama un "Servizio" in Mac OS X ... ma hai chiesto cosa si chiama un "Servizio" in Windows.

La controparte di un servizio di Windows è un demone su Mac OS X (e altri sistemi derivati da Unix).

I demoni vengono normalmente classificati eseguendo "background", cioè senza interazione diretta dell'utente attraverso un'interfaccia utente grafica o non grafica. La distinzione è comunque un po 'sfocata, poiché un Demone potrebbe avere un'interfaccia web per l'interazione dell'utente.

I demoni su Mac OS X sono controllati dal programma launchd, che è responsabile, ad esempio, dell'avvio dei daemon all'avvio e consente all'utente di avviare e arrestare i daemon su richiesta.

    
risposta data 18.05.2014 - 13:25
fonte
4

In base alla Guida alla programmazione di app Mac ,

You use Cocoa to write apps for OS X.

In base a tale definizione, applicazioni devono essere contenute in Pacchetti di applicazioni :

Application bundles are one of the most common types of bundle created by developers. The application bundle stores everything that the application requires for successful operation.

Sulla stessa pagina, dice:

Note: Although bundles are one way of packaging executable code, they are not the only way that is supported. UNIX shell scripts and command-line tools do not use the bundle structure, neither do static and dynamic shared libraries.

In base a ciò, direi che Apple non considera gli strumenti da riga di comando come ls come "applicazioni". Sarebbero programmi eseguibili o eseguibili .

Un processo è una qualsiasi istanza di un programma per computer che viene eseguito. Un processo può essere creato eseguendo un'applicazione o un eseguibile Unix. (Gli script di shell sarebbero una specie di eseguibile dove /bin/sh o un'altra shell interpreta lo script.)

"Processo" indica la stessa cosa in Windows (vedere la scheda Processo nel Task Manager di Windows).

Servizio ha tre diversi significati in Mac OS X:

  • Potrebbe fare riferimento a un daemon , che è analogo a un servizio di Windows. Questi sono processi di background persistenti a livello di sistema che non appartengono alla sessione di qualsiasi utente.

  • Potrebbe riferirsi a una caratteristica specifica di Mac OS X che facilita il trasferimento dei dati tra le applicazioni . Ad esempio, c'è un servizio "Crea nuova nota adesiva" che ti consente di convertire una selezione di testo in una nota adesiva.

  • Può anche essere usato nel senso inglese generico della parola, come in Lancia servizi . Launch Services è un'API per aprire le applicazioni e può, ad esempio, decidere quale sia l'applicazione appropriata per gestire un particolare tipo di file.

risposta data 18.05.2014 - 20:20
fonte
2

Un'applicazione è un processo che può generare sottoprocessi (conosciuti come figli) ma alcuni processi sono generati dal sistema operativo stesso e potrebbero non avere una "applicazione" di per sé dietro di essi. Questo è (a mio modo di vedere) il modo in cui unix funziona in generale (intro - processi unix).

Grazie a jksoegaard, il seguente è irrilevante, ho letto male la domanda. Sono una specie di nuovo - lo cancello o lo abbandono?

I servizi di OS X sono in qualche modo simili al pulsante di condivisione in Android: è un modo per inviare una porzione di dati direttamente dall'app corrente a un'altra.

Un semplice esempio è il testo: evidenziando un testo e facendo clic con il tasto destro, il menu di scelta rapida mostra i servizi in basso, il drilling in quel menu ti mostrerà quali altre app su Mac avranno la possibilità di usare quel testo per qualcosa (es. riepiloga, cerca web (Chrome), Spotlight, ecc.).

Puoi modificare i servizi nel pannello Preference tastiera sotto la scheda "Collegamenti" e crearne uno personalizzato in Automator, vedi questo articolo di Ars Technica per maggiori informazioni.

    
risposta data 18.05.2014 - 11:40
fonte
0

Applicazione: un programma per computer che esegue un lavoro utile non correlato al computer stesso; un software che esegue una particolare funzione per l'utente. Gli esempi includono programmi di elaborazione di testi, browser Web, programmi di presentazione e sistemi di contabilità.

Processo: una serie di istruzioni che un computer sta eseguendo in un sistema operativo multitasking. Molti processi vengono eseguiti contemporaneamente. Dal punto di vista dell'utente, i processi possono essere programmi o parti di programmi (come la routine di modifica e la routine di stampa in un word processor che può essere stampato durante la modifica).

Si noti che i due non sono necessariamente mutuamente esclusivi. In parole semplici, tuttavia, un'applicazione è un insieme di processi in bundle che, per l'utente, appaiono come uno.

Definizioni da: Dizionario dei termini Internet e computer

    
risposta data 18.05.2014 - 14:08
fonte
0

Per OSX, un'applicazione è un'app che puoi usare come utente. Un processo d'altra parte è qualsiasi eseguibile eseguibile in binario, comprendente anche app. Un'app potrebbe avere più processi in esecuzione, ecc.

    
risposta data 23.09.2016 - 15:15
fonte

Leggi altre domande sui tag