Dimoni (ordinador)

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca

Un dimoni (en anglès daemon ), en informàtica i més generalment en sistemes operatius multitarea , és un programa que s’executa en segon pla , és a dir, sense estar sota el control directe de l’usuari , que normalment proporciona un servei a l’usuari.

Etimologia

Els programadors de CTSS van encunyar el terme dimoni en analogia amb la imp Maxwell, i tots els sistemes que en van descendir, inclòs Unix, han heretat la terminologia. Els dimonis són personatges de la mitologia grega , alguns dels quals realitzaven tasques que els déus no podien atendre, de la mateixa manera que els dimonis realitzen tasques de fons que l'usuari no vol o no pot atendre. BSD i alguns dels seus derivats han adoptat un dimoni com a mascota , tot i que es dibuixa com un estereotip del diable del cristianisme .

Una altra possible etimologia del terme es troba a l'acrònim " d isk a nd e xecution mon itor" (monitor de rendiment i disc), però és més aviat una suposició.

Descripció i funcionament

Normalment els dimonis tenen noms acabats en "d": per exemple, syslogd és el dimoni que gestiona els registres del sistema, dhcpd és el dimoni que assigna dinàmicament l' adreça IP mitjançant DHCP , httpd és el dimoni que executa el servei HTTP

Sovint, els dimonis s'inicien quan el sistema es comença : en general tenen la funció de donar resposta a certes peticions, ja siguin de xarxa , maquinari , etc. Per exemple, alguns usos de dimonis poden ser la configuració de perifèrics (com DEVFS en sistemes Linux ), la realització de tasques establertes a certs intervals (com cron ), la gestió del so (com aRts i esd ), la gestió del control de versions (com CVS o subversió ) i una àmplia varietat d'altres tasques. En general, per tant, ofereixen a l’usuari i a l’ administrador determinats serveis.

Aspectes tècnics

En un sentit estrictament tècnic, els sistemes Unix consideren com a dimoni qualsevol procés que tingui init com a procés principal i que ja no tingui cap terminal de control (és a dir, un terminal que li pugui enviar senyals directament). Atès que init adopta processos orfes , el mètode que solen utilitzar els programes per fer-se dimonis és invocar la trucada del sistema fork per crear un procés fill que en sigui un duplicat i després finalitzar, mentre que el nen, orfe (i per tant adoptat per init) , continua l'execució normalment tancant canals estàndard , invocant la trucada del sistema setsid per tancar la sessió de cada terminal de control i canviant el directori actual a / per no ocupar innecessàriament els sistemes de fitxers (cosa que impediria desmuntar-los ). Aquest llenguatge de programació de vegades es descriu amb l'expressió anglesa " fork off and die ".

Als sistemes Unix és possible fer que qualsevol programa no interactiu sigui gairebé idèntic a un dimoni executant-lo en segon pla mitjançant l'ordre nohup i redirigint l' entrada / sortida estàndard i l'error estàndard a / dev / null ). Per exemple:

 usuari @ amfitrió: / path $ nohup batchscript.sh </ dev / null> / dev / null 2> & 1 &
 [1] 29788
 usuari @ amfitrió: / ruta $

On és:

  • batchscript.sh és el programa que s'inicia;
  • </dev/null indica utilitzar /dev/null com a entrada estàndard ;
  • >/dev/null indica dirigir la sortida estàndard a /dev/null ;
  • 2>&1 indica dirigir l' error estàndard a la mateixa destinació que la sortida estàndard (sempre /dev/null );
  • el & final indica que s'executa tot en segon pla.

macOS , en ser un sistema Unix [1] , també té "dimonis". A Mac OS X també hi ha "serveis", però conceptualment són diferents.

A MS-DOS i sistemes similars, l’analògic dels dimonis són els programes TSR ( Terminate and Stay Resident) .

A Microsoft Windows , els programes que realitzen funcions de dimoni són els anomenats serveis de Windows .

Nota

  1. ^ (EN) The Open Brand - Register of Certified Products , of opengroup.org. Consultat el 12 de gener de 2009 .

Articles relacionats

Enllaços externs

Informàtica Portal de TI : accés a les entrades de Wikipedia tractar amb ella