Anasayfa » nasıl » Web Sunucuları Yeni İstekleri Nasıl Dinler?

    Web Sunucuları Yeni İstekleri Nasıl Dinler?

    Web sunucuları ve nasıl çalıştıklarını öğrenirken, sürekli olarak istekleri dinliyorlarsa veya eyleme geçmeleri için bir istek görene kadar beklerlerse merak edebilirsiniz. Bunu göz önünde bulundurarak, günümüzün Süper Kullanıcı Soru-Cevap postası okuyucunun merakını giderecek cevaplara sahiptir.

    Bugünün Soru ve Cevap oturumu bize topluluk tarafından yönlendirilen bir soru-cevap web sitesi grubu olan Stack Exchange'in bir alt birimi olan SuperUser'ın izniyle geliyor..

    Ekran görüntüsü: xmodulo / Linux Ekran Görüntüleri (Flickr).

    Soru

    SuperUser okuyucu user2202911, web sunucularının yeni istekleri nasıl dinlediğini bilmek istiyor:

    Web sunucularının nasıl çalıştığının 'daha derin' ayrıntılarını anlamaya çalışıyorum. Örneğin, bir sunucunun Apache'nin yeni talepler için sürekli olarak oylamada mı olduğunu yoksa bir kesme sistemi tarafından mı çalıştığını bilmek istiyorum. Bu bir kesinti ise, kesinti neyi tetikliyor? Ağ kartı sürücüsü mü?

    Bir web sunucusu yeni istekleri nasıl dinler??

    Cevap

    SuperUser yazarı Greg Bowser bizim için cevabı verdi:

    Kısa cevap, bir tür kesme sistemidir. Temel olarak, engelleme giriş / çıkışlarını kullanırlar, yani yeni veri beklerken uyurlar (bloklar).

    1. Sunucu bir dinleme soketi oluşturur ve ardından yeni bağlantılar beklerken engellenir. Bu süre zarfında, çekirdek işlemi bir kesilebilir uyku diğer süreçleri ifade eder ve çalıştırır. Bu önemli bir nokta; Sürecin sürekli araştırılması CPU kaynaklarını boşa harcar. Çekirdek, yapması gereken bir iş olana kadar süreci engelleyerek sistem kaynaklarını daha verimli bir şekilde kullanabilir..
    2. Ağa yeni veriler geldiğinde, ağ kartı bir kesinti.
    3. Ağ kartında bir kesinti olduğunu görünce, çekirdek, ağ kartı sürücüsü aracılığıyla, yeni verileri ağ kartından okur ve bellekte saklar. (Bu hızlı yapılmalı ve genellikle kesme işleyicisinin içinde ele alınmalıdır.)
    4. Çekirdek yeni gelen veriyi işler ve bir soket ile ilişkilendirir. Bu soketi bloke eden bir işlem çalıştırılabilir olarak işaretlenecek, bu da artık çalıştırılmaya uygun olduğu anlamına gelecektir. Mutlaka derhal çalıştırılmaz (çekirdek hala diğer işlemleri yapmaya karar verebilir).
    5. Boş zamanlarında, çekirdek engellenen web sunucusu işlemini uyandıracak. (Şimdi çalıştırılabilir olduğundan.)
    6. Web sunucusu işlemi, sanki hiç zaman geçmemiş gibi yürütülmeye devam eder. Engelleme sistemi çağrısı geri döner ve yeni verileri işler. Ardından 1. adıma gidin.

    Açıklamaya eklemek için bir şey var mı? Yorumlarda ses kesiliyor. Diğer teknoloji meraklısı Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Burada tüm tartışma konusuna göz atın.