Verschil tussen onderbreken en pollen in OS

Schrijver: Laura McKinney
Datum Van Creatie: 2 April 2021
Updatedatum: 13 Kunnen 2024
Anonim
Linux-handleiding voor beginners
Video: Linux-handleiding voor beginners

Inhoud


We hebben veel externe apparaten aangesloten op de CPU, zoals een muis, toetsenbord, scanner, eh, enz. Deze apparaten hebben ook CPU-aandacht nodig. Stel dat een CPU bezig is met het weergeven van een PDF en u klikt op het venster Media Player-pictogram op het bureaublad. Hoewel de CPU geen idee heeft wanneer een dergelijke gebeurtenis zich zou voordoen, moet deze wel reageren op dergelijke invoer van de I / O-apparaten. Onderbreken en pollen zijn de twee manieren om de gebeurtenissen af ​​te handelen die worden gegenereerd door de apparaten die op elk moment kunnen gebeuren terwijl de CPU bezig is met het uitvoeren van een ander proces.

Pollen en onderbreken laat CPU stoppen met wat het momenteel doet en reageren op de belangrijkere taak. Polling en Interrupt verschillen in veel opzichten van elkaar. Maar het basispunt dat Polling en Interrupt onderscheidt, is dat in stemming CPU blijft I / O-apparaten regelmatig controleren of CPU-service nodig is terwijl, in onderbreken, onderbreekt het I / O-apparaat de CPU en vertelt het CPU dat het CPU-service nodig heeft. Ik heb enkele verschillen tussen Onderbreken en Pollen in de onderstaande vergelijkingstabel besproken, neem een ​​kijkje.


  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingOnderbrekenstemming
basis-Apparaat meldt CPU dat het CPU-aandacht nodig heeft.CPU controleert constant de status van het apparaat of het aandacht van de CPU nodig heeft.
MechanismeEen interrupt is een hardware-mechanisme.Pollen is een protocol.
onderhoudOnderbreek handler onderhoudt het apparaat.CPU onderhoudt het apparaat.
aanwijzingOnderbrekingsverzoekregel geeft aan dat het apparaat onderhoud nodig heeft.Comand-gereed bit geeft aan dat het apparaat onderhoud nodig heeft.
processorCPU wordt alleen gestoord als een apparaat onderhoud nodig heeft, wat CPU-cycli bespaart.CPU moet wachten en controleren of een apparaat onderhoud nodig heeft dat veel CPU-cycli verspilt.
voorvalEen onderbreking kan op elk moment optreden.CPU ondervraagt ​​de apparaten regelmatig.
rendementOnderbreken wordt inefficiënt wanneer apparaten de CPU herhaaldelijk blijven onderbreken.
Pollen wordt inefficiënt wanneer CPU zelden een apparaat vindt dat gereed is voor gebruik.
VoorbeeldLaat de bel rinkelen en open vervolgens de deur om te controleren wie er is gekomen.Blijf de deur constant openen om te controleren of er iemand is gekomen.


Definitie van Interrupt

Een onderbreking is een hardware mechanisme waarmee CPU kan detecteren dat een apparaat zijn aandacht nodig heeft. De CPU heeft een draad onderbrekingsverzoekregel die wordt gecontroleerd door CPU na uitvoering van elke afzonderlijke instructie. Wanneer CPU een onderbrekingssignaal op de onderbrekingsverzoekregel detecteert, stopt de CPU zijn huidige uitvoerende taak en reageert hij op de interrupt door I / O-apparaat door de besturing door te geven aan onderhandelaar. De interrupt-handler lost de interrupt op door het apparaat te onderhouden.

Hoewel CPU niet weet wanneer er een interrupt zou optreden, omdat dit op elk moment kan gebeuren, maar het moet wel reageren op de interrupt wanneer deze zich voordoet.

Wanneer de interrupt-handler klaar is met het uitvoeren van de interrupt, dan de CPU hervat de uitvoering van de taak die is gestopt voor het reageren op de onderbreking. Software, hardware, gebruiker, fout in het programma, etc. kan ook een onderbreking genereren. Onderbreekt de aard van de CPU leidt tot multitasking, d.w.z. een gebruiker kan een aantal verschillende taken tegelijkertijd uitvoeren.

Als er meer interrupts naar de CPU worden verzonden, helpt de interrupthandler bij het beheren van de interrupts die wachten om te worden verwerkt. Zoals interrupt handler krijgt veroorzaakt door de ontvangst van een onderbreking, het prioriteert de interrupts wachten om te worden verwerkt door de CPU en schikken ze in een wachtrij om service te krijgen.

Definitie van peiling

Zoals we in interrupts hebben gezien, kan de invoer van het I / O-apparaat op elk moment aankomen en de CPU vragen het te verwerken. Polling is een protocol die de CPU laat weten dat een apparaat zijn aandacht nodig heeft. Anders dan in interrupt, waarbij het apparaat CPU vertelt dat het CPU-verwerking nodig heeft, houdt CPU in polling vragen het I / O-apparaat of het CPU-verwerking nodig heeft.

De CPU doorlopend test elk aangesloten apparaat om te detecteren of een apparaat CPU-aandacht nodig heeft. elk apparaat heeft een command-ready bit dat de status van dat apparaat aangeeft, d.w.z. of het een opdracht heeft die door CPU moet worden uitgevoerd of niet. Als opdrachtbit is ingesteld 1, dan heeft het een opdracht die anders moet worden uitgevoerd als het bit is 0, dan heeft het geen commando's. processor heeft een druk beetje die de status van de CPU aangeeft, of deze nu bezig is of niet. Als de bezette bit is ingesteld 1, dan is het bezig met het uitvoeren van de opdracht van een apparaat, anders is het 0.

Algoritme voor peiling

  • Wanneer een apparaat een opdracht heeft die door de CPU moet worden uitgevoerd, controleert het continu het drukke bit van de CPU totdat het duidelijk wordt (0).
  • Naarmate de bezette bit duidelijk wordt, zet het apparaat een schrijfbit in zijn commandoregister en schrijft een byte in een data-outregister.
  • Nu stelt het apparaat (1) het commando-gereed bit in.
  • Wanneer CPU het command-ready bit van het apparaat controleert en het set (1) vindt, stelt het (1) het drukke bit in.
  • De CPU leest vervolgens het commandoregister van het apparaat en voert het commando van het apparaat uit.
  • Na het uitvoeren van de opdracht wist de CPU (0) het commando-gereed bit, het foutbit van het apparaat om aan te geven dat het commando van het apparaat succesvol is uitgevoerd en verder wist het (0) het drukke bit ook om aan te geven dat de CPU vrij is om uit te voeren het commando van een ander apparaat.
  1. Bij een onderbreking geeft het apparaat de CPU aan dat het onderhoud nodig heeft, terwijl CPU bij het pollen herhaaldelijk controleert of een apparaat onderhoud nodig heeft.
  2. Onderbreken is een hardware mechanisme aangezien CPU een draad heeft, onderbrekingsverzoekregel welk signaal dat interrupt heeft plaatsgevonden. Aan de andere kant is Polling een protocol dat blijft maar controleren controle bits om te melden of een apparaat iets moet uitvoeren.
  3. Handler onderbreken verwerkt de onderbrekingen die door de apparaten worden gegenereerd. Aan de andere kant, in polling, processor onderhoudt het apparaat wanneer dat nodig is.
  4. Onderbrekingen worden aangegeven door de onderbrekingsverzoekregel. Echter, Command-ready bit geeft aan dat het apparaat onderhoud nodig heeft.
  5. Bij interrupts wordt de CPU alleen gestoord wanneer een apparaat deze onderbreekt. Aan de andere kant verspilt CPU bij het pollen veel CPU-cycli door herhaaldelijk het commando-ready bit van elk apparaat te controleren.
  6. Een onderbreking kan optreden om elk moment van de tijd terwijl CPU het apparaat blijft pollen op de regelmatige intervallen.
  7. Pollen wordt inefficiënt wanneer CPU het apparaat blijft pollen en zelden een apparaat vindt dat klaar is voor onderhoud. Anderzijds worden onderbrekingen inefficiënt wanneer de apparaten de CPU-verwerking herhaaldelijk onderbreken.

Gevolgtrekking:

Zowel Polling als Interrupts zijn efficiënt in het bijwonen van de I / O-apparaten. Maar ze kunnen inefficiënt worden bij de bepaalde toestand zoals hierboven besproken.