Daemon Kavramı ve Kökeni
Bilgisayar biliminde “daemon” (veya “demon”), çok görevli işletim sistemlerinde, aktif bir kullanıcının doğrudan kontrolü altında olmaksızın arka planda çalışan bir bilgisayar programıdır. Bu programlar genellikle bir kullanıcı arayüzüne sahip değildir ve sistemin açılışıyla birlikte otomatik olarak başlatılırlar.
“Daemon” terimi, 1963 yılında MIT’nin Project MAC ekibindeki programcılar tarafından ortaya atılmıştır. Bu terim, İskoç fizikçi James Clerk Maxwell’in 1867’de ortaya attığı “Maxwell’in Şeytanı” düşünce deneyinden esinlenilmiştir. Maxwell’in şeytanı, arka planda yorulmadan molekülleri sıralayan hayali bir ajandı; bilişimdeki daemon’lar da benzer şekilde sistem görevlerini yorulmadan yerine getirirler.
Daemon'ların Özellikleri ve İşlevleri
Daemon’lar, sistemin sorunsuz çalışması için kritik öneme sahip çeşitli görevleri yerine getirirler. Bu görevler arasında ağ isteklerine yanıt verme, donanım faaliyetlerini yönetme veya diğer programlar için hizmet sağlama bulunur.
- Otomatik Başlatılma: Genellikle sistem her başlatıldığında otomatik olarak devreye girerler.
- Arka Plan Çalışması: Kullanıcının doğrudan müdahalesi olmadan görevlerini yürütürler.
- Kaynak Yönetimi: Sistem kaynaklarını etkili bir şekilde kullanarak hizmete devam ederler.
- Kullanıcı Etkileşimi Yok: Normal programların aksine, genellikle grafiksel bir kullanıcı arayüzleri (GUI) yoktur ve görevlerini yerine getirmek için kullanıcı girdisi gerektirmezler.
İsimlendirme ve Örnekler
Unix tabanlı sistemlerde (Linux, macOS gibi), bir sürecin daemon olduğunu belirtmek için geleneksel olarak süreç adının sonuna “d” harfi eklenir. Windows işletim sistemlerinde ise bu tür programlar “servis” olarak adlandırılır.
Yaygın daemon örnekleri şunlardır:
- syslogd: Sistem kayıtlarını yöneten daemon.
- sshd: Gelen SSH (Secure Shell) bağlantılarına hizmet eden daemon.
- httpd: Web sayfalarını sunan (örneğin Apache veya Nginx gibi web sunucusu) daemon.
- crond: Belirlenen zamanda komutların çalışmasını sağlayan daemon.
Daemon’lar, sunucu işletim sistemlerinde ağ hizmetleri, veri tabanları veya sürekli çalışması gereken diğer servisler gibi kritik roller üstlenirler. Ayrıca, kripto para madenciliğinde de “Bitcoin Core Daemon” gibi özel geliştirilmiş versiyonları bulunmaktadır.
Gerektiğinde daemon’lar devre dışı bırakılabilir, ancak bazı sistem hizmetleri veya işlevleri onlara bağlı olabileceğinden bu işlem dikkatli yapılmalıdır.