no.phhsnews.com


no.phhsnews.com / Hvordan lytter web-servere etter nye forespørsler?

Hvordan lytter web-servere etter nye forespørsler?


Når du lærer om webservere og hvordan de fungerer, kan du være nysgjerrig om de stadig lytter etter forespørsler, eller hvis de venter til de mottar en be om å gå i gang. Med det i betraktning har dagens SuperUser Q & A-post svarene for å tilfredsstille en lesers nysgjerrighet.

Dagens spørsmål og svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppe av Q & A-nettsteder.

Skjermbilde med bruk av xmodulo / Linux Skjermbilder (Flickr).

Spørsmålet

SuperUser leser user2202911 vil vite hvordan webservere lytter etter nye forespørsler:

Jeg prøver å forstå "dypere nivå" hvordan webservere jobber. Jeg vil vite om en server, for eksempel Apache, kontinuerlig poller for nye forespørsler, eller hvis det virker av en slags avbruddssystem. Hvis det er en avbrudd, hva er gnist avbrudd?

Hvordan lytter en webserver etter nye forespørsler?

Svaret

SuperUser-bidragsyter Greg Bowser har svaret for oss:

Det korte svaret er et slags avbruddssystem . I hovedsak bruker de blokkering av I / O, noe som betyr at de sover (blokk) mens de venter på nye data.

  1. Serveren lager en lytteuttak og blokkerer da mens du venter på nye tilkoblinger. I løpet av denne tiden setter kjernen prosessen inn i en avbrytbar søvn -stat og kjører andre prosesser. Dette er et viktig poeng; Å ha prosessundersøkelsen vil kontinuerlig kaste bort CPU-ressurser. Kjernen kan bruke systemressursene mer effektivt ved å blokkere prosessen til det er arbeid for det å gjøre.
  2. Når nye data kommer inn på nettverket, utløser nettverkskortet en avbrudd.
  3. Å se at det er en avbrudd fra nettverkskortet, kjernen, via nettverkskortdriveren, leser de nye dataene fra nettverkskortet og lagrer det i minnet. (Dette må gjøres raskt og håndteres vanligvis inne i avbruddshandleren.)
  4. Kjernen behandler de nylig ankomne dataene og forbinder den med en stikkontakt. En prosess som blokkerer på kontakten vil bli merket runnable, noe som betyr at den nå er kvalifisert til å kjøre. Det kjører ikke nødvendigvis umiddelbart (kjernen kan bestemme seg for å kjøre andre prosesser fremdeles).
  5. Kjernen vil koble opp den blokkerte webserverprosessen når det gjelder fritid. (Siden det nå er runnable.)
  6. Webserverprosessen fortsetter å utføre som om ingen tid er gått. Den blokkerende systemanropet returnerer og det behandler nye data. Deretter går du til trinn 1.

Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Se hele diskusjonstråden her.


15 Ting du kan gjøre med Siri på Apple Watch

15 Ting du kan gjøre med Siri på Apple Watch

Apple Watch inneholder mye Siri-integrasjon, og mens det ikke er så omfattende som det du kan gjøre med Siri på iPhone, er det fortsatt Veldig nyttig som det står i dag. Du kan aktivere Siri på Watch ved å trykke og holde den digitale kronen eller snu håndleddet mot deg og si, "Hei Siri". Vet at Siri ikke snakker på klokken, det er all tekst, så du må lese resultatene.

(how-to)

Løs Windows Live Mail Error 0x800CCC0B

Løs Windows Live Mail Error 0x800CCC0B

Windows Live Mail er e-postklienten som er en del av Microsofts Windows Live-programserie. En vanlig feil som oppstår når du bruker Live Mail, har å gjøre med å autentisere en server for utgående e-post. Lær hvordan du reparerer Windows Live Mail Error 0x800CCC0B.Autentisering av utgående e-postservere Når du mottar e-post i en hvilken som helst e-postklient, er det nødvendig å bruke brukernavn og passord for å godkjenne at du har rett til å motta e-postene i kontoen din. POP-servere

(How-to)