Forskellen mellem afbrydelse og polling i OS

Forfatter: Laura McKinney
Oprettelsesdato: 2 April 2021
Opdateringsdato: 14 Kan 2024
Anonim
The Difference between the United Kingdom, Great Britain and England Explained
Video.: The Difference between the United Kingdom, Great Britain and England Explained

Indhold


Vi har mange eksterne enheder tilknyttet CPU'en som en mus, tastatur, scanner, er osv. Disse enheder har også brug for CPU opmærksomhed. Antag, at en CPU er optaget af at vise en PDF, og du klikker på ikonet for medieafspilleren på skrivebordet. Selvom CPU'en ikke har nogen idé om, hvornår en sådan begivenhed ville opstå, men den er nødt til at reagere på sådanne input fra I / O-enhederne. Interrupt and Polling er de to måder at håndtere de begivenheder, der genereres af enhederne, der kan ske når som helst, mens CPU er optaget af at udføre en anden proces.

Polling og afbrydelse lader CPU stoppe, hvad den i øjeblikket gør, og reagerer på den mere vigtige opgave. Afstemning og afbrydelse er forskellige fra hinanden i mange aspekter. Men det grundlæggende punkt, der adskiller polling og afbrydelse, er det i polling CPU holder ved med at kontrollere I / O-enheder med regelmæssigt interval, om den har brug for CPU-service, mens, i afbryde, afbryder I / O-enheden CPU'en og fortæller CPU'en, at den har brug for CPU-service. Jeg har drøftet nogle forskelle mellem afbrydelse og afstemning i sammenligningstabellen nedenfor, se venligst.


  1. Sammenligningstabel
  2. Definition
  3. Vigtige forskelle
  4. Konklusion

Sammenligningstabel

Grundlag for sammenligningAfbrydePolling
GrundlæggendeEnheden giver CPU besked om, at den har brug for CPU-opmærksomhed.CPU kontrollerer konstant enhedsstatus, om den har brug for CPU's opmærksomhed.
MekanismeEn afbrydelse er en hardware-mekanisme.Polling er en protokol.
serviceringInterrupt handler servicerer enheden.CPU servicerer enheden.
TegnInterrupt-anmodningslinje angiver, at enheden skal serviceres.Comand-klar bit angiver, at enheden skal serviceres.
CPUCPU forstyrres kun, når en enhed skal serviceres, hvilket sparer CPU-cyklusser.CPU er nødt til at vente og kontrollere, om en enhed har brug for service, der spilder masser af CPU-cyklusser.
HændelseEn afbrydelse kan opstå når som helst.CPU poller enhederne med regelmæssigt interval.
EffektivitetAfbrydelse bliver ineffektiv, når enheder fortsætter med at afbryde CPU'en gentagne gange.
Polling bliver ineffektiv, når CPU sjældent finder en enhed klar til service.
EksempelLad klokken ringe og åbne døren for at kontrollere, hvem der er kommet.Bliv konstant ved at åbne døren for at kontrollere, om nogen er kommet.


Definition af afbrydelse

En afbrydelse er en hardware mekanisme der gør det muligt for CPU at registrere, at en enhed har brug for sin opmærksomhed. CPU'en har en ledning interrupt-anmodning linje som kontrolleres af CPU efter udførelse af hver eneste instruktion. Når CPU registrerer et interrupt-signal på interrupt-anmodningslinjen, stopper CPU sin aktuelle eksekverende opgave og reagerer på afbrydelsen af ​​I / O-enheden ved at overføre kontrollen til afbryder handler. Afbryderhandleren løser afbrydelsen ved at servicere enheden.

Selvom CPU ikke er opmærksom på, hvornår en afbrydelse vil opstå, da den kan forekomme på ethvert tidspunkt, men den er nødt til at svare på afbrydelsen, når den forekommer.

Når interrupt-behandleren er færdig med at udføre interrupt, så er CPU'en genoptages udførelsen af ​​den opgave, som den er stoppet for at svare på afbrydelsen. Software, hardware, bruger, nogle fejl i programmetosv. kan også generere en afbrydelse. Afbryder håndteringen af ​​CPU fører til multitasking, dvs. en bruger kan udføre et antal forskellige opgaver på samme tid.

Hvis der sendes mere end én afbrydelser til CPU'en, hjælper interrupt-behandleren med at håndtere de afbrydelser, der venter på at blive behandlet. Som afbryder handler udløst ved modtagelse af en afbrydelse, det prioriterer afbrydelser, der venter på at blive behandlet af CPU'en og arrangerer dem i en for at få service.

Definition af polling

Som vi har set i afbrydelser, kan input fra I / O-enhed når som helst ankomme til CPU'en om at behandle det. Afstemning er en protokol der giver besked til CPU om, at en enhed har brug for opmærksomhed. I modsætning til i afbrydelse, hvor enheden fortæller CPU, at den har brug for CPU-behandling, i polling-CPU holder spørger I / O-enheden, om den har brug for CPU-behandling.

CPU'en kontinuerligt test hver enhed der er knyttet til den for at registrere, om en enhed har brug for CPU-opmærksomhed. Hver apparat har en kommando-klar bit, der angiver enhedens status, dvs. om den har en kommando, der skal udføres af CPU eller ej. Hvis kommandobit er indstillet 1, så har den en eller anden kommando, der skal udføres, hvis bit er 0, så har det ingen kommandoer. CPU har en travl bit der angiver CPU-status, om den er optaget eller ej. Hvis den optagne bit er indstillet 1, så er det travlt med at udføre kommandoen for en enhed, ellers er det 0.

Algoritme til polling

  • Når en enhed har en eller anden kommando, der skal udføres af CPU, kontrollerer den kontinuerligt den travle bit af CPU, indtil den bliver klar (0).
  • Når den travle bit bliver klar, indstiller enheden skrivbit i sit kommandoregister og skriver en byte i data-out-register.
  • Nu sætter enheden (1) den kommandoklare bit.
  • Når CPU kontrollerer enhedernes kommandoklare bit og finder, at den er indstillet (1), indstiller den (1) sin travle bit.
  • CPU'en læser derefter enhedens kommandoregister og udfører enhedens kommando.
  • Efter kommandoudførelse rydder CPU (0) den kommandoklare bit, enhedens fejlbit for at indikere vellykket udførelse af kommandoen for enheden, og den rydder (0) dens travle bit også for at indikere, at CPU'en er fri til at udføre kommandoen for en anden enhed.
  1. Under afbrydelse oplyser enheden CPU'en om, at den har brug for service, mens den i polling-CPU gentagne gange kontrollerer, om en enhed har brug for service.
  2. Afbrydelse er en hardware mekanisme da CPU har en ledning, interrupt-anmodning linje hvilket signal om, at afbrydelse er sket. På den anden side er polling en protokol der fortsætter med at kontrollere kontrolbits for at underrette om en enhed har noget at udføre.
  3. Afbryd behandler håndterer afbrydelser genereret af enhederne. På den anden side ved polling, CPU servicerer enheden, når de har brug for det.
  4. Afbrydelser signaleres af interrupt-anmodning linje. Imidlertid, Kommando-klar bit angiver, at enheden skal serviceres.
  5. I afbrydelser forstyrres CPU kun, når en enhed afbryder den. På den anden side spildes CPU mange CPU-cyklusser ved polling gentagne gange at kontrollere den kommandoklare bit på hver enhed.
  6. En afbrydelse kan forekomme kl ethvert øjeblik der henviser til, at CPU fortsat poller enheden på regelmæssige intervaller.
  7. Afstemning bliver ineffektiv, når CPU'en fortsætter med at polle enheden og sjældent finder nogen enhed klar til service. På den anden side bliver afbrydelser ineffektive, når enhederne fortsætter med at afbryde CPU-behandlingen gentagne gange.

Konklusion:

Både polling og interrupts er effektive til at deltage i I / O-enhederne. Men de kan blive ineffektive ved den bestemte betingelse som beskrevet ovenfor.