Daemon (bilgi işlem) - Daemon (computing)

Daemon olan bazı Linux masaüstü ortamlarının bileşenleri arasında D-Bus , NetworkManager (burada unnetwork olarak adlandırılır ), PulseAudio ( usound ) ve Avahi bulunur .

Olarak çok görevli bilgisayar işletim sistemleri , bir arka plan programı ( / d Ben bir m ən / veya / d m ən / ) a, bilgisayar programı bir şekilde çalışır arka plan işlemi yerine, etkileşimli kullanıcı doğrudan kontrolü altında olmak yerine,. Geleneksel olarak, bir arka plan programının işlem adları , işlemin aslında bir arka plan programı olduğunu açıklamak ve bir arka plan programı ile normal bir bilgisayar programı arasında ayrım yapmak için d harfiyle biter . Örneğin, syslogd , sistem günlüğü oluşturma özelliğini uygulayan bir arka plan programıdır ve sshd , gelen SSH bağlantılarına hizmet eden bir arka plan programıdır .

Bir Unix ortamında, bir arka plan programının üst süreci , her zaman olmasa da genellikle init sürecidir. Bir arka plan programı genellikle ya bir alt süreci çatallayan ve ardından hemen çıkan, böylece init'in alt süreci benimsemesine neden olan bir süreç tarafından ya da init süreci tarafından doğrudan arka plan programını başlatan bir süreç tarafından oluşturulur. Ek olarak, çatallama ve çıkış yoluyla başlatılan bir arka plan programı, işlemi herhangi bir kontrol terminalinden (tty) ayırmak gibi başka işlemleri de gerçekleştirmelidir . Bu tür prosedürler genellikle Unix'teki daemon(3) gibi çeşitli kolaylık rutinlerinde uygulanır .

Sistemler genellikle , ağ isteklerine, donanım etkinliğine veya bazı görevleri gerçekleştirerek diğer programlara yanıt verecek olan arka plan programlarını önyükleme sırasında başlatır . cron gibi cinler de tanımlanmış görevleri zamanlanmış zamanlarda gerçekleştirebilir.

terminoloji

Terim, MIT'nin MAC Projesi'ndeki programcılar tarafından icat edildi . 1963'te MAC Projesi üzerinde çalışan Fernando J. Corbató'ya göre , ekibi, fizik ve termodinamikte molekülleri ayırmaya yardımcı olan hayali bir ajan olan Maxwell'in iblisinden esinlenerek daemon terimini ilk kullanan kişi oldu: sistem işlerini gerçekleştirmek için yorulmadan çalışan arka plan işlemlerini tanımlamak için daemon kelimesini kullanmak". Unix sistemleri bu terminolojiyi devraldı. Maxwell'in iblisi, Yunan mitolojisinin bir cinleri arka planda çalışan doğaüstü bir varlık olarak yorumlamasıyla tutarlıdır . Bununla birlikte, BSD ve bazı türevleri , maskotları olarak bir Yunan cininden ziyade bir Hıristiyan iblisini benimsemiştir .

Genel anlamda daemon, Yunanca δαίμων'dan gelen "iblis" kelimesinin daha eski bir şeklidir . In Unix Sistem Yönetimi El Kitabı Evi Nemeth cinleri hakkında şöyle der:

Pek çok insan "daemon" kelimesini "iblis" kelimesiyle eşit tutar ve UNIX ile yeraltı dünyası arasında bir tür şeytani bağlantı olduğunu ima eder . Bu korkunç bir yanlış anlama. "Daemon" aslında "şeytan"ın çok daha eski bir biçimidir; İblislerin iyiye veya kötüye karşı belirli bir önyargısı yoktur, bunun yerine bir kişinin karakterini veya kişiliğini tanımlamaya yardımcı olur. Antik Yunanların 'kişisel cini' nin 'kavramı, bir 'koruyucu melek' modern kavramına benzer - eudaemonia yardımcı veya nazik bir ruh tarafından korunuyor durumudur. Kural olarak, UNIX sistemleri hem cinler hem de iblisler tarafından istila edilmiş gibi görünüyor.

Mitolojik sembolizmin bir başka özelliği, bir cin, henüz görünmeyen, her zaman mevcut olan ve iradesini işleyen bir şeydir. Gelen Theages atfedilen, Plato , Sokrates ahlaki vicdan çağdaş kavram gibi bir şey olması kendi kişisel cini anlatır: "tanrıların iyilik bana çocukluğumdan beri beni terk olmamıştı muhteşem bir hediye, vermiş öyle. kendini işittiğinde beni yapmak üzere olduğum şeyden alıkoyan ve beni asla teşvik etmeyen bir ses."

Modern kullanımı, kelime cini olan belirgin / d Ben bir m ən / DEE -mən . Bilgisayar yazılımı bağlamında, orijinal telaffuz / d i m ən / etmek sürüklendiğini / d m ən / GÜN -mən bazı hoparlörler için.

Daemon için alternatif terimler , hizmet (Windows'ta, Windows NT'den itibaren - ve daha sonra Linux'ta kullanılır), başlatılan görev (IBM z/OS ) ve hayalet işidir (XDS UTS ).

Terim bilgisayar kullanımı için kabul edildikten sonra, Disk And Execution MONitor için bir arka ad olarak rasyonalize edildi .

Bir bilgisayar ağına bağlanan arka plan programları, ağ hizmetlerine örnektir .

Uygulamalar

Unix benzeri sistemler

Kesin teknik anlamda, Unix benzeri bir sistem süreci, ana süreci sona erdiğinde ve arka plan programı, ana süreci olarak başlangıç sürecine (süreç numarası 1) atandığında ve kontrol terminali olmadığında bir arka plan programıdır . Bununla birlikte, daha genel olarak, bir arka plan programı, init sürecinin bir çocuğu olsun ya da olmasın, herhangi bir arka plan süreci olabilir.

Bir On Unix benzeri sistem bir işlem için yaygın yöntem cini olmak, süreç başlatıldığında komut satırında böyle bir olarak veya bir başlangıç komut init komut dosyası veya bir SystemStarter senaryo, içerir:

  • İsteğe bağlı olarak gereksiz değişkenleri ortamdan kaldırma.
  • Bir şekilde yürütülmesi arka plan görevi tarafından çatallama ve çıkarken (çatal ebeveyn "yarısı" olarak). Bu, arka plan programının ebeveyninin (kabuk veya başlangıç ​​süreci) çıkış bildirimi almasına ve normal yürütmesine devam etmesine izin verir.
  • Genellikle tek bir işlemle gerçekleştirilen çağırma oturumundan ayrılma setsid():
  • Eğer arka plan programı kazara bile yeni bir kontrol tty'si almamasını sağlamak istiyorsa (ki bu, kontrol tty'si olmayan bir oturum lideri boş bir tty açtığında olur), tekrar çatallanabilir ve çıkabilir. Bu, yeni oturumda artık oturum lideri olmadığı ve kontrol tty'si alamayacağı anlamına gelir.
  • Kök dizini ( / ) geçerli çalışma dizini olarak ayarlamak, böylece işlem, bağlı bir dosya sisteminde olabilecek herhangi bir dizini kullanımda tutmaz (bağının kaldırılmasına izin verir).
  • Değişen umask izin 0'a open(), creat()ve kendi izni maskelerini sağlamak için diğer işletim sistemi çağrıları ve arayanın Umask bağlıdır.
  • Yönlendirme dosya tanımlayıcılar için 0, 1 ve 2 Standart akışları ( Stdin , stdout'u ve stderr ) için / dev / null veya günlük dosyası , ve ana süreç miras kalan tüm diğer dosya tanımlayıcıları kapatılması.

Süreç başlatılırsa süper-sunucu gibi cini, inetd , Launchd veya systemd , eski tarz cinleri haricinde işlem için bu işlevleri gerçekleştirir süper-sunucu cin değil altında çalıştırmak dönüştürülür systemd ve olarak belirtilen Tip = inetd altında çatallama ve "çok iş parçacıklı" datagram sunucuları .

MS-DOS

In Microsoft DOS ortamında, programlar cin benzeri olarak uygulanmıştır sonlandırmak ve kal ikamet (TSR) yazılımı.

Windows NT

On Microsoft Windows NT sistemlerinde, programlar denilen Windows hizmetleri cinleri işlevleri yerine getirir. İşlemler olarak çalışırlar, genellikle monitör, klavye ve fare ile etkileşime girmezler ve önyükleme sırasında işletim sistemi tarafından başlatılabilirler. In Windows 2000 ve sonraki sürümleri, Windows hizmetleri yapılandırılıp elle başlamış ve kullanma durdurulur Denetim Masası , özel bir kontrol / yapılandırma programı, Hizmet Denetleyicisi bileşenini Hizmet Denetim Yöneticisi ( sc komutu), net start ve net stop komutları veya PowerShell komut dosyası sistemi.

Ancak, herhangi bir Windows uygulaması yalnızca bir hizmet değil, bir arka plan programı rolünü de gerçekleştirebilir ve bazı Windows arka plan programlarının normal bir işlem olarak çalıştırma seçeneği vardır.

Klasik Mac OS ve macOS

On klasik Mac OS , isteğe bağlı özellikler ve hizmetler işletim sistemini yamalı başlangıç zamanında yüklü dosyaları tarafından sağlanan; bunlar sistem uzantıları ve kontrol panelleri olarak biliniyordu . Klasik Mac OS'nin sonraki sürümleri, bunları tam teşekküllü meçhul arka plan uygulamalarıyla güçlendirdi : arka planda çalışan normal uygulamalar. Kullanıcı için bunlar hala normal sistem uzantıları olarak tanımlandı.

Bir Unix sistemi olan macOS , arka plan programlarını kullanır. MacOS'un, Windows'un yaptığı gibi arka plan programları için bu terimi kullanmak yerine , Hizmetler menüsünden seçilen işlevleri gerçekleştiren yazılımı belirtmek için "hizmetler" terimini kullandığını unutmayın .

Ayrıca bakınız

Referanslar

Dış bağlantılar