Skillnaden mellan Interrupt och Polling i OS

Författare: Laura McKinney
Skapelsedatum: 2 April 2021
Uppdatera Datum: 9 Maj 2024
Anonim
Combs for hair stylists with the MARKUP! How to choose a hairbrush for cutting hair! Lessons!
Video: Combs for hair stylists with the MARKUP! How to choose a hairbrush for cutting hair! Lessons!

Innehåll


Vi har många externa enheter kopplade till CPU: n som en mus, tangentbord, skanner, er, etc. Dessa enheter behöver också CPU-uppmärksamhet. Anta att en CPU är upptagen med att visa en PDF och du klickar på ikonen för mediaspelarens fönster på skrivbordet. Även om CPU inte har någon aning om när en händelse som denna skulle inträffa, men den måste svara på sådana ingångar från I / O-enheterna. Interrupt and Polling är de två sätten att hantera händelser som genereras av enheterna som kan hända när som helst medan CPU är upptagen med att utföra en annan process.

Polling och avbrott låter CPU stoppa vad den håller på att göra och svara på den viktigare uppgiften. Pollning och avbrott skiljer sig från varandra i många aspekter. Men den grundläggande punkten som skiljer pollning och avbrott är den i polling CPU fortsätter att kontrollera I / O-enheter med regelbundet intervall om den behöver CPU-tjänst medan, i avbryta, I / O-enheten avbryter CPU: n och berättar CPU: n att den behöver CPU-tjänst. Jag har diskuterat några skillnader mellan Interrupt och Polling i jämförelsetabellen nedan, snälla titta.


  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelseAvbrytaPolling
GrundläggandeEnheten meddelar CPU att den behöver CPU-uppmärksamhet.CPU kontrollerar ständigt enhetens status om den behöver CPU: s uppmärksamhet.
MekanismEtt avbrott är en hårdvarumekanism.Polling är ett protokoll.
UnderhållAvbrytare hanterar enheten.CPU servrar enheten.
IndikationLinje för avbrottsförfrågan indikerar att enheten behöver service.Komprimerad bit indikerar att enheten behöver service.
CPUCPU störs bara när en enhet behöver service, vilket sparar CPU-cykler.CPU måste vänta och kontrollera om en enhet behöver service som slösar bort mycket CPU-cykler.
FörekomstEtt avbrott kan uppstå när som helst.CPU pollar enheterna med regelbundet intervall.
EffektivitetAvbrott blir ineffektivt när enheter fortsätter att avbryta CPU flera gånger.
Pollning blir ineffektiv när CPU sällan hittar en enhet som är klar för service.
ExempelLåt klockan ringa sedan öppna dörren för att kontrollera vem som har kommit.Fortsätt hela tiden att öppna dörren för att kontrollera om någon har kommit.


Definition av Interrupt

Ett avbrott är en hårdvarumekanism som gör det möjligt för CPU att upptäcka att en enhet behöver sin uppmärksamhet. CPU: n har en tråd interrupt-request line vilket kontrolleras av CPU efter genomförande av varje enskild instruktion. När CPU avkänner en avbrottssignal på interrupt-begäran linje, stoppar CPU sin nuvarande exekverande uppgift och svarar på avbrottet av I / O-enheten genom att överföra kontrollen till avbryta hanteraren. Avbrottshanteraren löser avbrottet genom att serva enheten.

Även om CPU inte är medveten om när ett avbrott skulle inträffa eftersom det kan uppstå när som helst, men det måste svara på avbrottet när det inträffar.

När interrupt-hanteraren är klar med att exekvera avbrottet, sedan CPU återupptar utförandet av den uppgift som den har stoppat för att svara på avbrottet. programvara, hårdvara, användare, något fel i programmetetc. kan också generera ett avbrott. Avbryter hanteringen av CPU-karaktären leder till göra flera saker samtidigt, dvs en användare kan utföra ett antal olika uppgifter samtidigt.

Om mer än en avbrott skickas till CPU: n hjälper avbrottshanteraren att hantera avbrott som väntar på att behandlas. Som avbrott hanteraren får triggas genom mottagning av ett avbrott, det prioriterar avbrott som väntar på att bearbetas av CPU och ordnar dem i en att få service.

Definition av pollning

Som vi har sett i avbrott, kan ingången från I / O-enheten när som helst anlända till CPU: n att bearbeta den. Polling är en protokoll som meddelar CPU att en enhet behöver sin uppmärksamhet. Till skillnad från i avbrott, där enheten berättar CPU att den behöver CPU-bearbetning, i polling CPU håller be I / O-enheten om den behöver CPU-behandling.

CPU: n kontinuerligt testa varje enhet som är ansluten till den för att upptäcka om någon enhet behöver CPU-uppmärksamhet. Varje anordning har en kommando-ready bit som indikerar status för den enheten, dvs. om den har något kommando som ska köras av CPU eller inte. Om kommandobiten är inställd 1, då har det något kommando som ska köras annat om biten är 0, då har det inga kommandon. CPU har en upptagen bit som indikerar status för CPU oavsett om den är upptagen eller inte. Om upptagen bit är inställd 1, då är det upptaget med att utföra kommandot för någon enhet, annars är det 0.

Algoritm för polling

  • När en enhet har något kommando som ska utföras av CPU kontrollerar den kontinuerligt den upptagna biten av CPU tills den blir klar (0).
  • När upptagen bit blir klar ställer enheten in en skrivbit i sitt kommandoregister och skriver en byte i data-out-register.
  • Nu anger enheten (1) den kommandoklara biten.
  • När CPU kontrollerar enheterna kommandoklara biten och finner den inställd (1), ställer (1) sin upptagna bit.
  • CPU läser sedan enhetens kommandoregister och kör kommandot för enheten.
  • Efter exekvering av kommandon rensar CPU (0) den kommandoklara biten, felbiten på enheten för att indikera framgångsrik exekvering av kommandot för enheten och vidare rensar (0) sin upptagna bit också för att indikera att CPU: n är fri att köra kommandot för någon annan enhet.
  1. Under avbrott meddelar enheten CPU: n att den behöver service medan kollisioner CPU vid upprepade gånger kontrollerar om en enhet behöver service.
  2. Avbrott är en hårdvara mekanism eftersom CPU har en tråd, interrupt-request line vilken signal som avbrott har inträffat. Å andra sidan är Polling en protokoll som fortsätter att kontrollera kontrollbitar för att meddela om en enhet har något att köra.
  3. Avbryt hanteraren hanterar avbrott som genereras av enheterna. Å andra sidan, i valfrågor, CPU tjänster enheten när de behöver.
  4. Avbrott signaleras av interrupt-request line. I alla fall, Kommando-ready bit indikerar att enheten behöver service.
  5. Vid avbrott störs CPU endast när någon enhet avbryter den. Å andra sidan, i polling, slösar CPU mycket CPU-cykler genom att upprepade gånger kontrollera den kommandoklara biten för varje enhet.
  6. Ett avbrott kan inträffa kl när som helst CPU fortsätter att polla enheten vid regelbundna intervaller.
  7. Pollning blir ineffektiv när CPU fortsätter att polla enheten och sällan hittar någon enhet som är redo för service. Å andra sidan blir avbrott ineffektiva när enheterna fortsätter att avbryta CPU-behandlingen upprepade gånger.

Slutsats:

Både pollning och avbrott är effektiva när det gäller I / O-enheter. Men de kan bli ineffektiva vid det vissa villkoret som diskuterats ovan.