Konu: svchost.exe nedir ve neden çalışır?
Gönderim Zamanı: 04-07-2009 Saat 11:24
Etkin bir bilgisayar kullanıcısı iseniz sık sık Görev Yöneticisi'ni uygulamalarınızı, ağ iletişiminizi, kullanıcı oturumlarınızı, performans durumunuzu ve özellikle de işlemlerinizi takip etmek ve yönetmek için kullanıyorsunuzdur. İşlemler sekmesi uygulamaların kullandığı işlemlerin yönetilmesini oldukça kolaylaştırıyor.
İşlemler kısmına baktığımızda aktif olarak kullandığımız uygulamaların dışında birçok programcığın çalıştığını farketmişsinizdir. Bunların büyük bir kısmı işletim sistemimizin kullandığı ve sağladığı çeşitli servislerin çalışabilirliğini sağlayan işlemler iken bazıları da yüklediğimiz programların çeşitli özelliklerini denetleyen servisler olarak karşımıza çıkıyor- Bkz jusched.exe. Bu yazımızda görev yöneticisinde en fazla gördüğünüz ve muhtemelen merak ettiğiniz işlemlerden biri olan svchost.exe'nin ne olduğunu ve işletim sistemimiz tarafından neden çalıştırıldığını belirteceğiz.
Peki nedir svchost.exe?
Microsoft'a göre svchost.exe; dinamik -bağlantı kütüphaneleri (.dll uzantılı) kullanılarak çalıştırılan servisleri yöneten genel istemci işlemidir.
Tanım birazcık karışık oldu galiba. Biraz da açık şekilde ifade edecek olursak; bir süre önce statik kütüphaneler yerine kullanılmaya başlanılan, dinamik-bağlı kütüphanelerin çalıştırılmasını sağlayan programcık olarak betimleyebiliriz, svchost.exe yazılımını.
Statik kütüphane yapısında kütüphaneler (servisler), ilgili derleyici tarafından nesne dosyalarıyla birlikte .exe olarak derlenirler ve ilgili servis bu programcık yardımıyla çalıştırılır. Dinamik kütüphane yapısında ise .dll -dynamically-linked library- dosyaları genel bir istemci programcık tarafından çalıştırılarak servisler kullanılabilir kılınır ki bu programcık da svchost.exe'dir. İşte görev yöneticinizi açtığınızda zaman zaman düzineye yakın sayıda svchost.exe işlemi görmenizin sebebi budur. Dinamik kütüphane kullanımının, statik kütüphane kullanımına göre işlem zamanının kısalması gibi birçok avantajı vardır ki günümüzde çoğu yazılımda dinamik-bağlı kütüphane yapıları kullanılmaktadır. Yazımızın konusu dinamik kütüphane yapısının avantajları olmadığı için bu kadar bilginin bu noktada yeterli olduğu kanaatindeyiz :).
Windows XP Pro'da ya da Windows Vista'da komut satırını kullanmak kaydıyla svchost.exe işlemlerinin o anda aktif olarak kullandıkları servisleri denetleyebilirsiniz. Bu işlem için komut satırına
Vista kullanıyorsanız eğer komut satırı yerine görev yöneticisini kullanarak da herhangi bir işlemin yürüttüğü hizmetleri görebilirsiniz.
Görev yöneticisini kullanmanız durumunda söz konusu hizmetlerin kullanım alanlarını belirlemeniz açıklama kısmına bakarak daha kolay olacaktır.
Neden görev yöneticisinde çok fazla svchost.exe var?
Bu soruya dolaylı olarak cevap vermiştik aslında bir önceki paragrafta. Svchost.exe uygulamaya özel bir program değil, bilgisayarımızın çalışması için gerekli olan ve ekstra özellikler getiren birçok servis svchost.exe kanalıyla çalışıyorlar ki bu da görev yöneticinizde gördüğünüz fazlaca svchost.exe işlemlerini açıklıyor.
Peki tek bir svchost.exe ile tüm bu servisler çalıştırılamaz mıydı diye soruyor olabilirsiniz. Bu sorunun cevabı, ellette çalıştırılabilirdi; ancak böylesi bir durumda bu minik programcığın herhangi bir hizmeti çalıştırırken yaşadığı küçük bir sorun sisteminizin "çakılmasına" veya birçok uygulamanızın çalışmaz duruma gelmesine sebep olabilirdi. Bu sebeple işletim sistemimiz sunduğu hizmetleri gruplar halinde çalıştırmak kaydıyla olası sorunlarda sıkıntıyı minimum seviyede tutmaya çalışıyor. Örneğin sözkonusu işlemlerden bir tanesi cevap vermediği zaman yalnızca o işlemin çalıştırdığı servisler işlevini yitiriyor.
Denetim Masası/Yönetimsel Araçlar/Hizmetler
adres yoluna eriştiğinizde karşınıza çıkan onlarca hizmetin ciddi bir kısmının svchost.exe yardımıyla başlatılan servisleri gösterdiğine dikkat ediniz.
Bu bölümden istediğiniz servisleri geçici olarak durdurabilir ya da tamamen kapatabilirsiniz. Bu şekilde görev yöneticinizdeki svchost.exe işlemleri azalacaktır; fakat ne yaptığınıza emin değilseniz kesinlikle ve kesinlikle bu bölüme dokunmamanızı öneririz. Hatalı bir hareketinizle bilgisayarınız bazı işlevlerini yitirebilir! - Örnek uygulamayı biz DNS istemcisi ile yaptık. Bu servisi kapatmamız durumunda bilgisayarımız insan diliyle yazılmış site adreslerini IP adreslerine çevirme yeteneğini kaybedecektir.
Her svchost.exe'ye inanmayın!
Görüldüğü üzere svchost.exe programcığı birçok kullanıcının hakim olmadığı onlarca hizmet çalıştırıyor. Haliyle son kullanıcı da hakim olmadığı bu yazılımı kurcalayarak sisteminin stabilitesini bozmak istemiyor. Varmak istediğimiz nokta; bu durumu fırsat bilen kötü amaçlı yazılımcılar bu programcığın adıyla farklı bir klasörden ya da yine system32 klasöründen svvhost.exe, scvhost.exe (özellikle bu ikincisi dalgınken rahatlıkla gözden kaçabilir :)) gibi isimler arkasında gizledikleri virüs, solucan (worm) gibi yazılımlarla sisteminize zarar verebilmektedirler. Bu hususta dikkat etmeniz gereken nokta görev yöneticinizde çalışan programın adı ve çalıştığı adres yoludur.
Varsayılan olarak Görüntü Yolu Adı görev yöneticinizde yer almaz. Görünüm sekmesindeki, sütun başlığından bu sekmeyi aktif hale getirebilirsiniz.
Yukarıdaki görüntünün alındığı bilgisayarda çalışan tüm işlemler svchost.exe ve hepsi de system32 klasöründen çalışıyor. Özet olarak söz konusu sistemde bu konuda herhangi bir sorun görülmüyor.
Düzenleyen invertor - 04-07-2009 Saat 11:26