Daemon (számítástechnika) - Daemon (computing)

Összetevői néhány Linux asztali környezetek , amelyek démonok közé D-Bus , NetworkManager (itt a unetwork ) PulseAudio ( usound ) és Avahi .

A multitasking számítógépes operációs rendszerek , a démon ( / d I m ən / vagy / d m ən / ) egy számítógépes program , amely fut a háttérben folyamat , ahelyett, hogy a közvetlen irányítása alatt egy interaktív felhasználó. Hagyományosan a démon folyamatnevei d betűvel végződnek , hogy tisztázzuk, hogy a folyamat valójában démon, és hogy különbséget tegyünk a démon és a normál számítógépes program között. Például a syslogd egy démon, amely rendszernaplózási lehetőséget valósít meg, és az sshd egy démon, amely kiszolgálja a bejövő SSH kapcsolatokat.

A Unix környezetben, a szülő folyamat egy démon gyakran, de nem mindig, a init folyamat. A démon általában vagy egy folyamat segítségével elágazik egy gyermekfolyamatból, majd azonnal kilép, így az init elfogadja a gyermekfolyamatot, vagy az init folyamat közvetlenül elindítja a démont. Ezen kívül, egy démon által indított elválási és kilépés jellemzően kell más műveleteket végez, mint például disszociáló a folyamat bármely ellenőrző terminál (tty). Az ilyen eljárásokat gyakran különféle kényelmi rutinokban hajtják végre, például a démonban (3) a Unixban.

A rendszerek gyakran a rendszerindításkor indítanak démonokat, amelyek valamilyen feladat végrehajtásával válaszolnak a hálózati kérésekre, a hardveres tevékenységre vagy más programokra. A démonok, például a cron, meghatározott feladatokat is elvégezhetnek ütemezett időpontokban.

Terminológia

A kifejezést az MIT Project MAC programozói alkották meg . Szerint Fernando J. Corbató , aki dolgozott Project MAC 1963-csapata volt az első, hogy a kifejezés démon által inspirált Maxwell démon , egy képzeletbeli szert a fizika és a termodinamika , hogy segített rendezni molekulák, amely „Mi fancifully kezdődött a démon szóval leírni azokat a háttérfolyamatokat, amelyek fáradhatatlanul dolgoztak a rendszerszintű feladatok elvégzésében ". A Unix rendszerek örökölték ezt a terminológiát. Maxwell démona összhangban van a görög mitológia azon értelmezésével, hogy a démon a háttérben dolgozó természetfeletti lény. A BSD és egyes származékai azonban keresztény démont fogadtak el kabalájuknak, nem pedig görög démonnak .

Általános értelemben a démon a "démon" szó régebbi formája, a görög δαίμων szóból. A Unix Rendszergazdálkodási Kézikönyvben Németh Évi a következőket írja a démonokról:

Sokan a "démon" szót egyenértékűvé teszik a "démon" szóval, utalva valamiféle sátáni kapcsolatra a UNIX és az alvilág között . Ez egy súlyos félreértés. A "démon" valójában a "démon" sokkal régebbi formája; a démonoknak nincs különösebb elfogultságuk a jó vagy a rossz felé, inkább arra szolgálnak, hogy segítsenek meghatározni egy személy jellemét vagy személyiségét. Az ókori görögök „személyes démon” fogalma hasonló volt a „védőangyal” modern fogalmához - az eudaemonia az az állapot, amikor egy kedves lélek segít vagy véd. A UNIX rendszereket általában démonokkal és démonokkal fertőzik meg.

A mitológiai szimbolizmus további jellemzője, hogy a démon olyan dolog, ami még nem látható, és mindig jelen van, és cselekszik akaratával. A Theages tulajdonított Platón , Szókratész , írja le saját személyes démon lenni valami, mint a modern fogalma erkölcsi lelkiismeret: „A támogató istenek adott nekem egy csodálatos ajándék, amelyet soha nem hagyott el gyerekkorom óta. Ez egy hang, amely hallatán elriaszt attól, amit tenni fogok, és soha nem sürget tovább. "

A modern használat, a szó démon ejtik / d I m ən / DEE -mən . Az összefüggésben számítógépes szoftver, az eredeti kiejtés / d I m ən / sodródott a / d m ən / NAP -mən néhány hangszórók.

Alternatív kifejezések démon olyan szolgáltatás (használt Windows, Windows NT-től - és később is a Linux), indított feladat (IBM z / OS ) és szellem munkahely (XDS UTS ).

Kifejezés után fogadták el a számítógép használatát, úgy ésszerűsíteni a backronym Disk és kivitelezése monitort.

A számítógépes hálózathoz csatlakozó démonok példák a hálózati szolgáltatásokra .

Megvalósítások

Unix-szerű rendszerek

Szigorúan technikai értelemben a Unix-szerű rendszerfolyamat akkor démon, ha a szülői folyamat befejeződik, és a démon hozzárendeli az init folyamatot (1. számú folyamat), mint szülőfolyamatot, és nincs vezérlőterminálja. Általánosságban azonban a démon bármilyen háttérfolyamat lehet, akár az init folyamat gyermeke, akár nem.

Unix-szerű rendszereken a folyamat általános módja annak, hogy egy folyamat démondá váljon, amikor a folyamatot a parancssorból vagy egy indító szkriptből, például egy init vagy egy SystemStarter szkriptből indítják el , a következőkre terjed ki:

  • Opcionálisan eltávolítja a szükségtelen változókat a környezetből.
  • Végrehajtása, mint a háttérben futó feladat által elválási és kilépő (a szülő „fél” a villa). Ez lehetővé teszi a démon szülőjének (shell vagy indítási folyamat), hogy megkapja a kilépési értesítést, és folytathatja a szokásos végrehajtást.
  • A hívó munkamenetből való leválás, amelyet általában egyetlen művelet hajt végre setsid():
  • Ha a démon biztosítani akarja, hogy még véletlenül sem szerezzen új irányító tty -t (ami akkor történik, amikor a vezérlő tty nélküli szekcióvezető megnyit egy szabad tty -t), akkor elágazhat és újra kiléphet. Ez azt jelenti, hogy az új munkamenetben már nem a munkamenet vezetője, és nem szerezhet irányító tty -t.
  • A gyökérkönyvtár ( / ) beállítása aktuális munkakönyvtárként , hogy a folyamat ne tartson használatban olyan könyvtárat, amely esetleg egy csatlakoztatott fájlrendszeren van (lehetővé téve annak leválasztását).
  • Az umask megváltoztatása 0 -ra , hogy engedélyezze a open(), creat()és más operációs rendszer saját jogosultsági maszkok megadását kéri, és nem függ a hívó umaszkjától.
  • A szabványos adatfolyamok ( stdin , stdout és stderr ) 0, 1 és 2 fájlleíróinak átirányítása a /dev /null fájlba vagy egy naplófájlba , és az összes többi, a szülői folyamatból örökölt fájlleíró bezárása.

Ha a folyamat elindult egy szuper-szerver démon, mint a inetd , launchd vagy systemd , a szuper-szerver démon elvégzi azokat a funkciókat az eljárás, kivéve a régi stílusú démonok nem alakul át fut a systemd és megadott típusú = villás és "többszálú" datagram szerver inetd alatt .

MS-DOS

A Microsoft DOS környezetben a démonszerű programokat TSR ( terminate and stay resident ) szoftverként valósították meg .

Windows NT

A Microsoft Windows NT rendszerek, programok úgynevezett Windows-szolgáltatások ellátja a démonokat. Ezek folyamatként futnak, általában nem lépnek kapcsolatba a monitorral, a billentyűzettel és az egérrel, és az operációs rendszer elindíthatja őket a rendszerindításkor. A Windows 2000 és újabb verziókban a Windows szolgáltatások konfigurálása, kézi indítása és leállítása a Vezérlőpult , egy dedikált vezérlő/konfigurációs program, a Service Control Manager Service Controller összetevője ( sc parancs), a net start és net stop parancsok vagy a PowerShell szkriptrendszer.

Mindazonáltal bármely Windows -alkalmazás elláthatja a démon szerepét, nem csak egy szolgáltatás, és néhány Windows -démonnak lehetősége van normál folyamatként futni.

Klasszikus Mac OS és macOS

A klasszikus Mac OS -en az opcionális funkciókat és szolgáltatásokat az indításkor betöltött fájlok nyújtották, amelyek javították az operációs rendszert; ezeket rendszerbővítményeknek és vezérlőpaneleknek nevezték . A klasszikus Mac OS későbbi verziói ezeket teljes körű, arctalan háttéralkalmazásokkal egészítették ki : a háttérben futó rendszeres alkalmazásokkal. A felhasználó számára ezeket továbbra is rendszeres rendszerbővítményekként írták le.

A macOS , amely egy Unix rendszer, démonokat használ. Ne feledje, hogy a macOS a "szolgáltatások" kifejezést használja a Szolgáltatások menüből kiválasztott funkciókat végrehajtó szoftver kijelölésére , ahelyett, hogy ezt a kifejezést démonokra használja, mint a Windows.

Lásd még

Hivatkozások

Külső linkek