Daemon (tietojenkäsittely) - Daemon (computing)

Joidenkin Linux- työpöytäympäristöjen osia, jotka ovat demoneja, ovat D-Bus , NetworkManager (tässä kutsutaan unetworkiksi ), PulseAudio ( usound ) ja Avahi .

In moniajon tietokone käyttöjärjestelmiä , eli daemon ( / d i m ən / tai / d m ən / ) on tietokoneohjelma , joka toimii kuin tausta prosessi , sen sijaan, että suorassa valvonnassa vuorovaikutteisen käyttäjä. Perinteisesti daemonin prosessinimet päättyvät kirjaimella d selventämiseksi, että prosessi on itse asiassa demoni, ja demonin ja tavallisen tietokoneohjelman erottamiseksi toisistaan. Esimerkiksi syslogd on daemon, joka toteuttaa järjestelmän kirjausmahdollisuuden, ja sshd on daemon, joka palvelee saapuvia SSH -yhteyksiä.

Vuonna Unix ympäristössä äitiprosessin of daemon on usein, mutta ei aina, init prosessi. Daemon luodaan yleensä joko prosessilla, joka haaraa lapsiprosessin ja sulkee sen välittömästi, jolloin init aloittaa lapsiprosessin, tai init -prosessi käynnistää suoraan demonin. Lisäksi haarautumisen ja sieltä poistumisen käynnistämän demonin on tyypillisesti suoritettava muita toimintoja, kuten prosessin erottaminen mistä tahansa ohjauspäätteestä (tty). Tällaiset menettelyt toteutetaan usein erilaisissa käyttörutiineissa, kuten daemonissa (3) Unixissa.

Järjestelmät käynnistävät usein demoneja käynnistyksen yhteydessä, jotka vastaavat verkkopyyntöihin, laitteistoaktiviteetteihin tai muihin ohjelmiin suorittamalla jonkin tehtävän. Daemonit, kuten cron, voivat myös suorittaa määriteltyjä tehtäviä määräajoin.

Terminologia

Termin loivat MIT: n Project MAC -ohjelmoijat . Mukaan Fernando J. Corbató , jotka työskentelivät projektin MAC vuonna 1963, hänen tiiminsä oli ensimmäinen, joka käyttää termiä daemon innoittamana Maxwellin demoni , kuvitteellinen aineen fysiikan ja termodynamiikan joka auttoi lajitella molekyylejä, jossa "Me fancifully alkoi käyttää sanaa daemon kuvaamaan taustaprosesseja, jotka työskentelivät väsymättä järjestelmän askareiden suorittamiseksi ". Unix -järjestelmät ovat perineet tämän terminologian. Maxwellin demoni on yhdenmukainen kreikkalaisen mytologian tulkinnan kanssa daemonista yliluonnollisena olennona, joka toimii taustalla. Kuitenkin BSD ja eräät sen johdannaiset ovat hyväksyneet kristitty demoni niiden maskotti sijaan kreikkalainen daemon .

Yleisessä mielessä demoni on vanhempi sanan "demoni" muoto, kreikan kielestä δαίμων. Vuonna Unix-järjestelmien ylläpidosta Handbook Evi Nemeth todetaan muun muassa seuraavaa demonit:

Monet ihmiset rinnastavat sanan "demoni" sanaan "demoni", mikä viittaa jonkinlaiseen saatanalliseen yhteyteen UNIXin ja alamaailman välillä . Tämä on törkeä väärinkäsitys. "Daemon" on itse asiassa paljon vanhempi "demonin" muoto; demoneilla ei ole erityistä ennakkoluuloa hyvää tai pahaa kohtaan, vaan ne auttavat määrittelemään henkilön luonteen tai persoonallisuuden. Muinaiset kreikkalaiset "käsite 'henkilökohtainen daemon' oli samanlainen kuin uusi käsitys 'Guardian Angel' - eudaemonia on tilassa, jossa se auttoi tai suojattu ystävällisesti henkeä. UNIX -järjestelmät näyttävät pääsääntöisesti olevan sekä demoneiden että demonien saastuttamia.

Mytologisen symbolismin toinen luonnehdinta on, että daemon on jotain, joka ei ole vielä näkyvissä, on aina läsnä ja toimii tahtonsa mukaisesti. Vuonna Theages , johtuu Platon , Sokrates kuvailee omaa henkilökohtaista daemon olla jotain uusi käsitys moraalinsa: "hyväksi jumalat on antanut minulle hieno lahja, joka ei ole koskaan jättänyt minua jo lapsuudestani. On ääni, joka, kun se saa itsensä kuulluksi, estää minua siitä, mitä aion tehdä, eikä koskaan kehota minua ".

Nykyaikaisessa tuota sanaa daemon lausutaan / d i m ən / DEE -mən . Yhteydessä tietokoneohjelmiston, alkuperäinen sana / d i m ən / on ajautunut / vrk m ən / PÄIVÄ -mən joillekin kaiuttimia.

Vaihtoehtoiset ehdot daemon ovat palvelun (käytetään Windows, Windows NT lähtien - ja myöhemmin myös Linux), aloitti tehtävässä (IBM z / OS- ) ja Ghost työ (XDS UTS ).

Termin jälkeen hyväksyttiin tietokoneen käyttöä, se järkeistetään backronym Levyn ja toteutus monitoriin.

Tietokoneverkkoon yhdistävät demonit ovat esimerkkejä verkkopalveluista .

Toteutukset

Unixin kaltaiset järjestelmät

Tarkkaan teknisessä mielessä Unixin kaltainen järjestelmäprosessi on daemon, kun sen pääprosessi päättyy ja daemonille on määritetty init- prosessi (prosessin numero 1) sen pääprosessiksi, eikä sillä ole ohjauspäätettä. Yleisesti ottaen daemon voi kuitenkin olla mikä tahansa taustaprosessi, oli se sitten init -prosessin lapsi tai ei.

Unixin kaltaisessa järjestelmässä yleinen menetelmä, jolla prosessista tulee demoni, kun prosessi käynnistetään komentoriviltä tai käynnistyskomentosarjasta, kuten init- tai SystemStarter- skripti, sisältää:

  • Valinnaisesti poistetaan tarpeettomat muuttujat ympäristöstä.
  • Suorittamiseksi kuin tausta tehtävän mukaan forkkaamisessa ja poistuminen (emo "puoli" haarukan). Näin daemonin vanhempi (kuori tai käynnistysprosessi) voi vastaanottaa poistumisilmoituksen ja jatkaa sen normaalia suorittamista.
  • Irrotus kutsumisistunnosta, joka yleensä suoritetaan yhdellä toiminnolla setsid():
    • Irrottautuminen kontrolloivasta tty: stä .
    • Luo uusi istunto ja ryhdy istunnon johtajaksi.
    • Ryhtyminen prosessiryhmän johtajaksi.
  • Jos demoni haluaa varmistaa, että se ei saa uutta kontrolloivaa tty: tä edes vahingossa (mikä tapahtuu, kun istunnonjohtaja ilman kontrolloivaa tty: tä avaa ilmaisen tty: n), se voi haarautua ja poistua uudestaan. Tämä tarkoittaa, että se ei ole enää istunnon johtaja uudessa istunnossa eikä voi hankkia kontrolloivaa ttyä.
  • Asettaminen juurihakemisto ( / ) nykyiseksi työhakemisto jotta prosessi ei pidä mitään hakemiston mahdollisesta käytöstä on asennettu tiedostojärjestelmä (jolloin se on kehystämätön).
  • Umaskin muuttaminen arvoksi 0 sallia open(), creat()ja muut käyttöjärjestelmät kutsuvat antamaan omat lupa -maskinsa eivätkä ole riippuvaisia ​​soittajan umaskista.
  • Suuntaamalla tiedosto kuvaajat 0, 1 ja 2 varten standardin virtoja ( stdin , stdout ja stderr ) ja / dev / null tai lokitiedostoon , ja sulkemalla kaikki muut tiedosto kuvaajat peritty äitiprosessin.

Jos prosessi käynnistyy, kun se super-palvelimen daemon, kuten inetd , launchd tai systemd , super-palvelimen daemon suorittaa näitä toimintoja prosessin, paitsi vanhanmallisille demonit ei muunneta suoritettavaksi systemd ja määritelty tyyppi = haarautuminen ja "monisäikeiset" datagrammipalvelimet inetd: n alla .

MS-DOS

Vuonna Microsoftin DOS ympäristössä, daemon kaltainen ohjelmia toteutettiin niin lopettaa ja oleskelua asukas (TSR) -ohjelmisto.

Windows NT

Käytössä on Microsoft Windows NT -järjestelmät, ohjelmat kutsutaan Windowsin palvelut hoitavat demoneja. Ne toimivat prosesseina, eivät yleensä ole vuorovaikutuksessa näytön, näppäimistön ja hiiren kanssa, ja käyttöjärjestelmä voi käynnistää ne käynnistyksen yhteydessä. Vuonna Windows 2000 ja uudemmat versiot Windows palvelun asetuksia ja käynnistää manuaalisesti ja lopettaa Ohjauspaneeli , oma ohjaus / Mekuwinissä palveluohjaimelle komponentti Palveluohjauksenhallinnan ( sc -komennon), The net start ja net stop komentojen tai PowerShell skriptausjärjestelmää.

Kaikki Windows -sovellukset voivat kuitenkin suorittaa daemonin, ei vain palvelun, ja joillakin Windows -demoneilla on mahdollisuus toimia normaalina prosessina.

Klassinen Mac OS ja macOS

On klassinen Mac OS , valinnaisia ominaisuuksia ja palveluista huolehtivat tiedostoja ladataan käynnistyksen aika paikattu käyttöjärjestelmä; nämä tunnettiin järjestelmän laajennuksina ja ohjauspaneeleina . Klassisen Mac OS: n myöhemmät versiot täydensivät näitä täysin toimivilla kasvottomilla taustasovelluksilla : tavallisilla sovelluksilla, jotka toimivat taustalla. Käyttäjälle nämä kuvattiin edelleen tavallisiksi järjestelmälaajennuksiksi.

macOS , joka on Unix -järjestelmä, käyttää demoneja. Huomaa, että macOS käyttää termiä "palvelut" määritelläkseen ohjelmiston, joka suorittaa Palvelut -valikosta valitut toiminnot sen sijaan, että käyttäisi kyseistä termiä demoneille kuten Windows.

Katso myös

Viitteet

Ulkoiset linkit