Forskjellen mellom avbrytelse og avstemning i OS

Forfatter: Laura McKinney
Opprettelsesdato: 2 April 2021
Oppdater Dato: 15 Kan 2024
Anonim
Узнав этот секрет, ты никогда не выбросишь сломанный пистолет из под пены.
Video: Узнав этот секрет, ты никогда не выбросишь сломанный пистолет из под пены.

Innhold


Vi har mange eksterne enheter tilknyttet CPU-en som mus, tastatur, skanner, er osv. Disse enhetene trenger også CPU-oppmerksomhet. Anta at en CPU er opptatt med å vise en PDF, og du klikker på ikonet for mediaspilleren på skrivebordet. Selv om CPU ikke har noen anelse om når en hendelse som denne skulle oppstå, men den må svare på slike innganger fra I / O-enhetene. Interrupt and Polling er de to måtene å håndtere hendelsene som genereres av enhetene som kan skje når som helst mens CPU er opptatt med å utføre en annen prosess.

Polling og avbryt lar CPU stoppe det den gjør og svare på den viktigere oppgaven. Avstemning og avbrytelse er forskjellige fra hverandre i mange aspekter. Men det grunnleggende poenget som skiller polling og avbrytelse er det i polling CPU fortsetter å sjekke I / O-enheter med regelmessig intervall om den trenger CPU-tjenester mens, i avbryte, avbryter I / O-enheten CPU og forteller CPU at den trenger CPU-service. Jeg har diskutert noen forskjeller mellom Avbryt og avstemning i sammenligningstabellen nedenfor, ta en titt.


  1. Sammenligningstabell
  2. Definisjon
  3. Viktige forskjeller
  4. Konklusjon

Sammenligningstabell

Grunnlag for sammenligningAvbrytePolling
grunn~~POS=TRUNCEnheten varsler CPU at den trenger CPU-oppmerksomhet.CPU sjekker konstant enhetsstatus om den trenger CPU-er oppmerksomhet.
MekanismeEt avbrudd er en maskinvaremekanisme.Polling er en protokoll.
vedlikeholdAvbryt behandleren servicerer enheten.CPU tjenester for enheten.
IndikasjonInterrupt-request line indikerer at enheten trenger service.Kommandoklar bit angir at enheten trenger service.
prosessorCPU forstyrres bare når en enhet trenger service, noe som sparer CPU-sykluser.CPU må vente og sjekke om en enhet trenger service som kaster bort masse CPU-sykluser.
HendelseEn avbrudd kan oppstå når som helst.CPU poller enhetene med jevnlig intervall.
EffektivitetAvbrytelse blir ineffektivt når enheter fortsetter å avbryte CPU-en gjentatte ganger.
Avstemning blir ineffektiv når CPU sjelden finner en enhet klar til service.
EksempelLa klokken ringe og åpne døren for å sjekke hvem som har kommet.Fortsett å åpne døren for å sjekke om noen har kommet.


Definisjon av Interrupt

En avbrytelse er en maskinvaremekanisme som gjør det mulig for CPU å oppdage at en enhet trenger sin oppmerksomhet. CPU-en har en ledning avbryt-forespørsel linje som sjekkes av CPU etter utførelse av hver eneste instruksjon. Når CPU registrerer et avbrukssignal på avbrytelsesforespørselslinjen, stopper CPU sin for øyeblikket utførende oppgave og svarer på avbruddet av I / O-enheten ved å gi kontrollen avbryter behandler. Avbruddsbehandleren løser avbruddet ved å utføre service på enheten.

Selv om CPU ikke er klar over når et avbrudd vil oppstå som det kan oppstå når som helst, men det må svare på avbruddet når det inntreffer.

Når avbruddsbehandleren er ferdig med å utføre avbruddet, deretter CPU CVer utførelsen av oppgaven som den har stoppet for å svare på avbrytelsen. programvare, maskinvare, bruker, noe feil i programmetosv. kan også generere et avbrudd. Avbryter håndteringen av CPU fører til multitasking, dvs. en bruker kan utføre en rekke forskjellige oppgaver samtidig.

Hvis mer enn ett avbrudd sendes til CPU, hjelper avbryterbehandleren med å håndtere avbruddene som venter på å bli behandlet. Som avbryter handler får utløst ved mottak av et avbrudd, det prioriterer avbrytelsene som venter på å bli behandlet av CPU og ordner dem i en for å få service.

Definisjon av polling

Som vi har sett i avbrudd, kan inngangene fra I / O-enheten når som helst anmode CPUen om å behandle den. Avstemning er en protokollen som varsler CPU om at en enhet trenger sin oppmerksomhet. I motsetning til i avbrudd, der enheten forteller CPU at den trenger CPU-behandling, i polling-CPU holder spør I / O-enheten om den trenger CPU-behandling.

CPU kontinuerlig test hver enhet som er koblet til den for å oppdage om en enhet trenger CPU-oppmerksomhet. Hver enhet har en kommando-klar bit som indikerer statusen til den enheten, dvs. om den har noen kommando som skal utføres av CPU eller ikke. Hvis kommandobiten er satt 1, så har den noen kommando som skal kjøres ellers hvis biten er 0, så har den ingen kommandoer. prosessor har en travel bit som indikerer statusen til CPU om den er opptatt eller ikke. Hvis opptatt bit er angitt 1, så er det opptatt med å utføre kommandoen til noen enheter, ellers er det 0.

Algoritme for polling

  • Når en enhet har noen kommando som skal utføres av CPU, sjekker den kontinuerlig den opptatte biten av CPU til den blir klar (0).
  • Etter hvert som den opptatt biten blir klar, setter enheten skrivebiten i kommandoregisteret og skriver en byte i data-out register.
  • Nå setter enheten (1) den kommandoklare biten.
  • Når CPU kontrollerer enhetens kommandoklare bit og finner den satt (1), setter den (1) sin travle bit.
  • CPU leser deretter kommandoregisteret til enheten og utfører kommandoen til enheten.
  • Etter kommandoutførelse, tømmer CPU (0) den kommandoklare biten, feilbiten til enheten for å indikere vellykket utførelse av kommandoen til enheten og videre tømmer (0) sin opptatte bit også for å indikere at CPU'en er fri til å utføre kommandoen til noen andre enheter.
  1. Under avbrudd varsler enheten CPU om at den trenger service mens den i polling-CPU gjentatte ganger kontrollerer om en enhet trenger service.
  2. Avbryt er en maskinvare mekanisme som CPU har en ledning, avbryt-forespørsel linje hvilket signal om at avbrudd har oppstått. På den annen side er polling en protokollen som fortsetter å sjekke kontrollbiter for å varsle om en enhet har noe å utføre.
  3. Avbryt behandler håndterer avbruddene som genereres av enhetene. På den annen side, i valglokalet, prosessor tjenester enheten når de trenger.
  4. Avbrytelser signaliseres av avbryt-forespørsel linje. Derimot, Kommando-klar bit indikerer at enheten trenger service.
  5. I avbrytelser blir CPU bare forstyrret når noen enhet avbryter den. På den annen side, i polling, sløser CPU mange CPU-sykluser ved gjentatte ganger å sjekke den kommandoklare biten på hver enhet.
  6. Et avbrudd kan oppstå kl når som helst mens CPU fortsetter å polle enheten på enheten regelmessige intervaller.
  7. Avstemning blir ineffektiv når CPU fortsetter å polle enheten og sjelden finner noen enheter som er klare til service. På den annen side blir avbrudd ineffektive når enhetene fortsetter å avbryte prosessoren for prosessering gjentatte ganger.

Konklusjon:

Både polling og interrupts er effektive når det gjelder I / O-enhetene. Men de kan bli ineffektive ved den bestemte tilstanden som diskutert ovenfor.