Demone (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Aggiunta informazione tecnica
Etichette: Modifica da mobile Modifica da web per mobile
m Bot: http → https
 
(9 versioni intermedie di 7 utenti non mostrate)
Riga 1:
{{NN|informatica|agosto 2015|Una nota è davvero poco}}
Un '''demone''' (in [[lingua inglese]] ''daemon''), in [[informatica]] e più in generale nei [[Sistema operativo|sistemi operativi]] [[multitasking]], è un [[Programma (informatica)|programma]] [[Esecuzione in background|eseguito in background]], cioè senza che sia sotto il [[Interattività|controllo diretto dell'utente]], tipicamente fornendo un servizio all'utente. SolitamentePrincipalmente viene utilizzato insui server ma èanche altrettantosu usato sunormali PC normali.
 
==Etimologia==
I programmatori di [[CTSS]] coniarono il termine ''demone'' in analogia con il [[diavoletto di Maxwell]] e tutti i sistemi discendenti da esso, incluso Unix, hanno ereditato la terminologia. I [[Demone (entità)|demoni]] sono personaggi della [[mitologia greca]], alcuni dei quali eseguivano compiti di cui gli dei[[Divinità|dèi]] non potevano occuparsi, esattamente come i demoni eseguono compiti in background di cui l'utente non vuole o non può occuparsi. [[Berkeley Software Distribution|BSD]] e alcuni dei suoi derivati hanno adottato un demone come [[Demone BSD|mascotte]], anche se disegnato come stereotipo del [[Satana|diavolo]] del [[Cristianesimo]].
 
Un'altra possibile etimologia del termine è nell'acronimo "'''d'''isk '''a'''nd '''e'''xecution '''mon'''itor" (monitor dei dischi e dell'esecuzione), ma è più che altro una supposizione.
Riga 13:
 
==Aspetti tecnici==
In senso strettamente tecnico, i sistemi [[Unix]] considerano come demone qualsiasi [[Processo (informatica)|processo]] che abbia [[init]] come [[processo padre]] e che non abbia più alcun ''terminale controllante'' (cioè un [[Terminale (informatica)|terminale]] che gli possa inviare direttamente dei [[Segnale (informatica)|segnali]]). Poiché init adotta i [[processo orfano|processi orfani]], il metodo comunemente usato dai programmi per rendersi demoni è quello di invocare la [[chiamata di sistema]] [[fork (programmazione)|fork]] per creare un [[processo figlio]] che sia un loro duplicato e poi terminare, mentre il figlio, rimasto orfano (e quindi adottato da init), continua normalmente l'esecuzione chiudendo i [[canali standard]], invocando la chiamata di sistema [[setsid]] per disconnettersi da ogni terminale controllante e cambiando la [[directory corrente]] a <code>/</code> in modo da non tenere inutilmente occupati dei ''[[file system]]'' (cosa che impedirebbe di [[umount|smontarli]]). QuestoSpesso [[linguaggiosi fa diriferimento programmazione]]a èquesto talvoltaparadigma descrittodefinendolo con l'espressione inglese «''fork off and die''».
 
Nei sistemi Unix è possibile rendere un qualsiasi programma non interattivo pressoché identico ad un demone [[Esecuzione in background|eseguendolo in background]] tramite il comando [[nohup]] ed effettuando la [[redirezione]] dello ''[[standard input]]'', ''[[standard output]]'' e ''[[standard error]]'' a [[/dev/null]]). Ad esempio:
Riga 29:
 
[[macOS]], essendo un sistema [[Unix]]<ref>{{cita web
|url=httphttps://www.opengroup.org/openbrand/register/brand3555.htm
|titolo=The Open Brand - Register of Certified Products
|accesso=12 gennaio 2009
Riga 47:
 
==Collegamenti esterni==
* {{FOLDOC|daemon|daemon}}
* {{cita web|httphttps://www.takeourword.com/TOW146/page4.html|takeourword.com: Article on the origin of the term "daemon"|lingua=en}}
* {{cita web|1=http://www.webreference.com/perl/tutorial/9/|2=Tutorial: Unix Daemons in PERL|lingua=en|accesso=14 gennaio 2006|urlarchivio=https://web.archive.org/web/20051223140312/http://www.webreference.com/perl/tutorial/9/|dataarchivio=23 dicembre 2005|urlmorto=sì}}
* {{cita web|url=http://www.windowsitpro.com/Articles/Print.cfm?ArticleID=38404|titolo=Tutorial: NT Services in PERL|lingua=en|urlmorto=sì|urlarchivio=https://web.archive.org/web/20160304190358/http://windowsitpro.com/Articles/Print.cfm?ArticleID=38404|dataarchivio=4 marzo 2016}}