Verschil Tussen Onderbreking En Uitzondering

Verschil Tussen Onderbreking En Uitzondering
Verschil Tussen Onderbreking En Uitzondering

Video: Verschil Tussen Onderbreking En Uitzondering

Video: Verschil Tussen Onderbreking En Uitzondering
Video: Ragetlie-regel 2024, April
Anonim

Onderbreken versus uitzondering

Op elke computer kunnen er tijdens de normale uitvoering van een programma gebeurtenissen zijn waardoor de CPU tijdelijk kan stoppen. Gebeurtenissen zoals deze worden interrupts genoemd. Onderbrekingen kunnen worden veroorzaakt door software- of hardwarefouten. Hardware-interrupts worden (eenvoudig) Interrupts genoemd, terwijl software-interrupts uitzonderingen worden genoemd. Zodra een interrupt (software of hardware) wordt geactiveerd, wordt de besturing overgebracht naar een speciale subroutine genaamd ISR (Interrupt Service Routine) die de condities aankan die door de interrupt worden veroorzaakt.

Wat is onderbreken?

De term Interrupt is meestal gereserveerd voor hardware-interrupts. Dit zijn onderbrekingen in de programmabesturing die worden veroorzaakt door externe hardwaregebeurtenissen. Hier betekent extern extern van de CPU. Hardware-interrupts komen meestal van veel verschillende bronnen, zoals timerchip, randapparatuur (toetsenborden, muis, enz.), I / O-poorten (serieel, parallel, enz.), Harde schijven, CMOS-klok, uitbreidingskaarten (geluidskaart, video kaart, enz.). Dat betekent dat hardware-onderbrekingen bijna nooit optreden vanwege een gebeurtenis die verband houdt met het uitvoerende programma. Een gebeurtenis zoals een toetsaanslag op het toetsenbord door de gebruiker, of een time-out van een interne hardwaretimer kan dit soort onderbreking veroorzaken en kan de CPU informeren dat een bepaald apparaat wat aandacht nodig heeft. In een dergelijke situatie zal de CPU stoppen met wat hij aan het doen was (dwz pauzeert het huidige programma),biedt de service die het apparaat nodig heeft en keert terug naar het normale programma. Wanneer hardware-onderbrekingen optreden en de CPU de ISR start, worden andere hardware-onderbrekingen uitgeschakeld (bijv. Op 80 × 86-machines). Als u andere hardware-interrupts nodig heeft terwijl de ISR actief is, moet u dat expliciet doen door de interruptvlag te wissen (met sti-instructie). Op 80 × 86 machines heeft het wissen van de interruptvlag alleen gevolgen voor hardware-interrupts.het wissen van de interruptvlag heeft alleen invloed op hardware-interrupts.het wissen van de interruptvlag heeft alleen invloed op hardware-interrupts.

Wat zijn uitzonderingen?

Uitzondering is een software-interrupt, die kan worden geïdentificeerd als een speciale handlerroutine. Uitzondering kan worden geïdentificeerd als een automatisch optredende valstrik (een val kan worden geïdentificeerd als een overdracht van controle, die wordt geïnitieerd door de programmeur). Over het algemeen zijn er geen specifieke instructies die zijn gekoppeld aan uitzonderingen (vallen worden gegenereerd met behulp van een specifieke instructie). Er treedt dus een uitzondering op vanwege een "uitzonderlijke" toestand die optreedt tijdens de uitvoering van het programma. Deling door nul, uitvoering van een illegale opcode of geheugengerelateerde fout kan bijvoorbeeld uitzonderingen veroorzaken. Elke keer dat er een uitzondering optreedt, schort de CPU het programma dat het aan het uitvoeren was tijdelijk op en start de ISR. ISR zal bevatten wat te doen met de uitzondering. Het kan het probleem verhelpen of als het niet mogelijk is, kan het programma netjes worden afgebroken door een passend foutbericht af te drukken. Hoewel een specifieke instructie geen uitzondering veroorzaakt, wordt een uitzondering altijd veroorzaakt door een instructie. De fout bij delen door nul kan bijvoorbeeld alleen optreden tijdens de uitvoering van de deelinstructie.

Wat is het verschil tussen Onderbreken en Uitzondering?

Interrupts zijn hardware-interrupts, terwijl uitzonderingen software-interrupts zijn. Als hardware-interrupts optreden, worden andere hardware-interrupts meestal uitgeschakeld, maar dit geldt niet voor uitzonderingen. Als u hardware-interrupts moet weigeren totdat er een uitzondering is gemaakt, moet u de interruptvlag expliciet wissen. En meestal heeft de interruptvlag op de computer invloed op (hardware) interrupts in tegenstelling tot uitzonderingen. Dit betekent dat het wissen van deze vlag geen uitzonderingen voorkomt.

Aanbevolen: