Daemon (computação)

Um daemon (pronunciado /ˈdiː.mən/ ou /ˈdeɪ.mən/ , do grego δαιμων - divinity), uma palavra em inglês que significa "  daimôn  ", muitas vezes traduzida erroneamente como demônio , designa um tipo de programa de computador , um processo ou um conjunto de processos que é executado em segundo plano, e não sob o controle direto de um usuário.

O termo daemon parece ter sido introduzido em 1963 pelos designers do CTSS no MIT , em resposta a "dragão", um termo usado pelos designers do ITS . O acrônimo retro Disk And Execution MONitor foi cunhado para justificar o termo daemon depois que se tornou popular.

Os daemons são freqüentemente iniciados ao carregar o sistema operacional e geralmente são usados ​​para responder a consultas de rede , a atividade do hardware ou outros programas executando certas tarefas. No Microsoft Windows , essas funções são executadas por programas denominados "  serviços  ".

Daemon no UNIX

Em um sistema operacional semelhante ao UNIX , um daemon é geralmente um processo cujo processo pai é init , processo número 1. Um daemon pode, portanto, ser criado pelo próprio init ou por outro processo usando o seguinte mecanismo. O processo gera um processo filho com a chamada de sistema fork e termina imediatamente. O processo filho órfão é então adotado pelo init . Essa maneira de fazer as coisas às vezes é resumida na frase bifurque e morra .

No uso comum, também chamamos daemon qualquer processo em execução em segundo plano, seja ou não filho de init .

Exemplos

Os programas do servidor de rede , que devem ser executados continuamente, são daemons . Este é, por exemplo, o caso dos servidores de correio . Os emails enviados sem destinatário costumam gerar uma mensagem de erro do servidor, com o "endereço  [email protected]  ".

Nomes de software de servidor geralmente terminam com um daemon d like . Assim, o termo httpd (daemon HTTP) às vezes aparece nos nomes de software de servidor web ( NCSA HTTPd , lighttpd , nome de domínio httpd.apache.org para Apache HTTP Server , etc.), em UNIX o servidor de impressora é chamado lpd ( Line Printer Daemon ), etc.

Os daemons também podem ser usados ​​para configurar o hardware (como devfsd em sistemas GNU / Linux ), realizar tarefas repetitivas (como crond ) ou realizar uma variedade de outras tarefas.

Alguns softwares cliente, como Geneweb , funcionam com um daemon  : você deve iniciar o daemon , contendo o núcleo do software e agindo como um servidor HTTP, e então abrir uma página específica em um navegador para acessar a interface do usuário.

Notas e referências

Notas

  1. Este é um trocadilho com foda-se e morra , que significa "quebrar e morrer".

Referências

  1. (em) Evi Nemeth  (em) , Garth Snyder e Scott Seebass, Unix System Administration Handbook , Prentice Hall ,1989( ISBN  0139334416 ) , "Daemons" , p.  403-404 :

    “  Muitas pessoas equiparam a palavra“ demônio ”com a palavra“ demônio ”, o que implica algum tipo de conexão satânica entre o UNIX e o submundo. Este é um mal-entendido flagrante. “Daemon” é na verdade uma forma muito mais antiga de “demônio”; os daemons não têm uma tendência particular para o bem ou para o mal, mas servem para ajudar a definir o caráter ou personalidade de uma pessoa. O conceito dos gregos antigos de “daemon pessoal” era semelhante ao conceito moderno de “anjo da guarda” - “eudaemonia” é o estado de ser ajudado ou protegido por um espírito bondoso. [...] Mick [Bailey] citou o Oxford English Dictionary para apoiar o significado e a grafia da palavra.  "

  2. Harley Hahn, UNIX student handbook , 2 e  edition to DUNOD editions, p. 368 “Daemons and dragons”.
  3. dragão  " , The Jargon File no site de Eric S. Raymond.