lt.phhsnews.com


lt.phhsnews.com / Kaip žiniatinklio serveriai klauso naujų prašymų?

Kaip žiniatinklio serveriai klauso naujų prašymų?


Kai mokate apie žiniatinklio serverius ir kaip jie veikia, gali būti įdomu, jei jie nuolat klauso užklausų arba laukia, kol jie gaus prašyti imtis veiksmų. Atsižvelgiant į tai, šiandieninis "SuperUser" Q & A pranešimas turi atsakymus, kad patenkintų skaitytojo smalsumą.

Šiandienos klausimų ir atsakymų sesija ateina su meile "SuperUser" - "Stack Exchange", bendruomenės pagrįstos Q & A svetainių grupės dalimi.

"Screenshot courtesy of xmodulo / Linux Screenshots (Flickr).

Klausimas

SuperUser skaitytuvas user2202911 nori sužinoti, kaip žiniatinklio serveriai klausia naujų užklausų:

Aš bandau suprasti" gilesnio lygio " kaip veikia žiniatinklio serveriai. Noriu sužinoti, ar, pavyzdžiui, serveris, tarkim, "Apache", nuolat klausia naujų užklausų, ar jis veikia tam tikros pertraukimo sistemos. Jei tai yra pertrauka, kas sukelia pertraukimą? Ar tai yra tinklo plokštės tvarkyklė?

Kaip žiniatinklio serveris klauso naujų užklausų?

Answerer

SuperUser autorius Gregas Bowseris turi mums atsakymą:

Trumpas atsakymas yra tam tikros pertraukimo sistema . Iš esmės jie naudoja blokuojančią įvesties / išvesties funkciją, taigi jie miega (blokuoja) laukdami naujų duomenų.

  1. Serveris sukuria klausymo lizdą ir blokuoja laukiant naujų ryšių. Per šį laiką branduolys perkelia procesą į pertraukiamąjį miego būklę ir vykdo kitus procesus. Tai yra svarbus dalykas; proceso apklausa nuolat išgelbėtų CPU išteklius. "Kernel" gali efektyviau naudoti sistemos resursus, blokuodamas procesą, kol to nepadarys.
  2. Kai į tinklą atvyks nauji duomenys, tinklo kortelė ištrinks.
  3. Matydamas, ar yra pertrauka iš tinklo plokštės, branduolys per tinklo plokštės tvarkyklę nuskaito naujus duomenis iš tinklo plokštės ir saugo atmintyje. (Tai turi būti padaryta greitai ir apskritai tvarkoma pertraukimo tvarkyklės viduje.)
  4. Branduolys apdoroja naujai atvykusius duomenis ir susieja jį su lizdu. Procesas, kuris blokuoja šį lizdą, bus pažymėtas kaip "neįvykdytas", todėl jis dabar gali būti paleistas. Tai nebūtinai prasideda iš karto (branduolys gali nuspręsti paleisti kitus procesus).
  5. Savo laisvalaikiu branduolys pažadins blokuojamą žiniatinklio serverio procesą. (Kadangi dabar jis gali būti paleistas.)
  6. Serverio procesas tęsiasi taip, tarsi laikas praėjo. Jo blokavimo sistemos skambutis grąžina ir apdoroja visus naujus duomenis. Tada eikite į 1 žingsnį.

Ar turite ką nors įtraukti į paaiškinimą? Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų? Patikrinkite visą diskusijų temą čia.


Automatiškai prisijungti prie "Windows 8" naudodami "Microsoft" arba vietinę paskyrą

Automatiškai prisijungti prie "Windows 8" naudodami "Microsoft" arba vietinę paskyrą

Naudodami "Windows 8" dabar galite prisijungti prie kompiuterio dviem būdais: per "Microsoft" paskyrą, kuri sinchronizuoja nustatymus ir programas "Windows 8" kompiuteriuose ir per vietinę paskyrą, kuri nuo pat pradžių buvo standartinė. Mano kompiuteryje namuose visada pašalinau bet kokius slaptažodžius ir nustatė, kad kompiuteris prisijungtų automatiškai.Kai aš pradė

(How-to)

Sukurkite asmeninę svetainę greitai naudodamiesi "Google" svetainėmis

Sukurkite asmeninę svetainę greitai naudodamiesi "Google" svetainėmis

Ar kada nors norėjote greitai sukurti savo apylinkių knygų klubo ar sporto komandos tinklalapį? Arba galbūt asmeninis puslapis, kurį galite pasidalinti su savo draugais ir šeima tam tikram įvykiui, pavyzdžiui, vestuvėms ar gimtadienio vakarėliui?Jei atliksite "Google" paiešką, iškart gausite šimtus aukcionų tinklalapių kūrimui naudodami šablonus ir tt, tačiau paprastai turite šiek tiek sumokėti. Šios svetainės jums

(How-to)