Voglio sapere quali sono le differenze nel comportamento di un demone, processo e servizio in esecuzione su Ubuntu.
Voglio sapere quali sono le differenze nel comportamento di un demone, processo e servizio in esecuzione su Ubuntu.
Risposte:
Demoni - Demone non sta per Disk and Execution Monitor ( http://www.takeourword.com/TOW146/page4.html ). Sono i processi che vengono eseguiti in background e non sono interattivi. Non hanno un terminale di controllo.
Eseguono determinate azioni in momenti predefiniti o in risposta a determinati eventi. In * NIX, i nomi dei daemon terminano con d .
Servizi : in Windows, i demoni sono chiamati servizi .
Se ti stai chiedendo perché * NIX ha un comando chiamato service , viene usato solo per eseguire script di init (abbreviazione per inizializzazione scriptrunlevel ).
Processo : il processo è un programma in esecuzione. In un particolare istante di tempo, può essere in esecuzione , in sonno o in zombi (processo completato, ma in attesa che il processo padre raccolga il valore restituito).
Fonti e ulteriori informazioni :
Un demone è uno sfondo, non interattivo del programma . È staccato dalla tastiera e dal display di qualsiasi utente interattivo. La parola demone per indicare un programma in background deriva dalla cultura Unix; non è universale.
Un servizio è un programma che risponde alle richieste di altri programmi tramite un meccanismo di comunicazione tra processi (generalmente su una rete). Un servizio è ciò che fornisce un server. Ad esempio, il servizio di mapping delle porte NFS viene fornito come un servizio portmap separato, implementato come portmapd
demone.
Un servizio non deve essere un demone, ma di solito lo è. Un'applicazione utente con una GUI potrebbe avere un servizio integrato: ad esempio un'applicazione di condivisione file. Un altro esempio è il servizio X Window, che è tutt'altro che in background: prende il controllo dello schermo, della tastiera e del dispositivo di puntamento. È un servizio perché risponde alle richieste delle applicazioni (per creare e manipolare finestre, ecc.), Che possono anche essere altrove sulla rete. Ma il servizio X risponde anche ad ogni movimento di tasti e mouse.
Un processo è uno o più thread di esecuzione insieme al loro insieme condiviso di risorse, i più importanti dei quali sono lo spazio degli indirizzi e i descrittori di file aperti. Un processo crea un ambiente per questi thread di esecuzione che sembra avere un'intera macchina tutta per sé: è una macchina virtuale.
All'interno di un processo, le risorse di altri processi e del kernel sono invisibili e non direttamente accessibili (almeno non a un thread che esegue codice spazio utente). Ad esempio, non è possibile fare riferimento ai file aperti di un altro processo o al loro spazio di memoria; è come se quelle cose non esistessero nemmeno.
Il processo, e la sua relazione con il kernel e altri processi, costituisce forse l'astrazione più importante nei sistemi operativi simili a Unix. Le risorse del sistema sono suddivise in processi e quasi tutto è inteso accadere all'interno di un processo o di un altro.