29Jul

Miten Web-palvelimet kuuntelevat uusia pyyntöjä?

click fraud protection

Kun tiedät verkkopalvelimista ja miten he työskentelevät, saatat olla utelias, jos he jatkuvasti kuuntelevat pyyntöjä tai odottavat, kunnes he saavat pyynnön toimia. Tässä mielessä tämän päivän SuperUser Q & A -postilla on vastauksia tyydyttämään lukijan uteliaisuutta.

Päivän kysymys &Vastausistunto tulee meille kohteliaasti SuperUser-osastoon Stack Exchange, yhteisöllinen ryhmittely Q & A verkkosivuilla.

Kuvakaappaus xmodulo / Linux -näytön kuvakaappauksista( Flickr).

Kysymys

SuperUser-lukija user2202911 haluaa tietää, miten web-palvelimet kuuntelevat uusia pyyntöjä:

Yritän ymmärtää "syvemmän tason" yksityiskohdat siitä, miten web-palvelimet toimivat. Haluan tietää, onko palvelin, esimerkiksi Apache, jatkuvasti pyytänyt uusia pyyntöjä tai jos se toimii jonkinlaisen keskeytysjärjestelmän avulla. Jos se on keskeytys, mikä aiheuttaa keskeytyksen? Onko verkkokortin ajuri?

Kuinka web-palvelin kuuntelee uusia pyyntöjä?

Vastaus

SuperUser-avustaja Greg Bowserilla on vastaus meille:

instagram viewer

Lyhyt vastaus on jonkinlainen keskeytysjärjestelmä.Pohjimmiltaan he käyttävät estää I / O: tä, eli he nukkuvat( estävät) odottamassa uusia tietoja.

  1. Palvelin luo kuuntelupistokkeen ja estää sitten uusia yhteyksiä odotettaessa. Tänä aikana ydin laittaa prosessin keskeytettäväyn nukkumaan tilaan ja suorittaa muita prosesseja. Tämä on tärkeä asia;prosessin kysely jatkuvasti tuhlaisi CPU-resursseja. Järjestelmä pystyy käyttämään järjestelmän resursseja tehokkaammin estämällä prosessin, kunnes siihen on tehtävä töitä.
  2. Kun uusi tieto saapuu verkkoon, verkkokortti antaa keskeytyksen.
  3. Verkkokortin keskeytys näkyy, kun ytimen verkkokortin ohjaimen kautta lukee uudet tiedot verkkokortilta ja tallentaa ne muistissa.(Tämä on tehtävä nopeasti ja sitä käsitellään yleensä keskeytyskäsittelijän sisällä.)
  4. Kernel käsittelee vasta saapuneet tiedot ja liittää ne pistorasiaan. Prosessi, joka estää kyseisestä liittymästä, on merkitty ajettavaksi, mikä tarkoittaa, että se on nyt oikeutettu suorittamaan. Se ei välttämättä suoriteta välittömästi( ytimen voi päättää suorittaa muita prosesseja vielä).
  5. Sen ytimessä herätetään estetty web-palvelimen prosessi.(Koska se on nyt ajettavissa.)
  6. Web-palvelimen prosessi jatkuu suorana ikään kuin aikaa ei olisi kulunut. Sen estojärjestelmä soittaa paluu ja käsittelee kaikki uudet tiedot. Siirry sitten vaiheeseen 1.

Onko sinulla jotain lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä?Katso koko keskusteluketju täältä.