Verschil tussen Trap en Interrupt

De grootste verschil tussen val en interrupt is dat trap wordt geactiveerd door een gebruikersprogramma om OS-functionaliteit aan te roepen terwijl interrupt wordt geactiveerd door een hardware-apparaat om de processor in staat te stellen de bijbehorende interrupt handlerroutine uit te voeren.

Een besturingssysteem is gebeurtenisgestuurd. Een gebeurtenis kan plotseling optreden tijdens het uitvoeren van een programma. Het zal het besturingssysteem activeren om uit te voeren. Dit zal de gebruikersmodus veranderen in kernelmodus. Na de uitvoering van het besturingssysteem wordt het besturingselement teruggestuurd naar het oorspronkelijke programma. Traps en interrupts zijn twee soorten evenementen. Een val wordt opgeheven door een gebruikersprogramma terwijl een interrupt wordt verhoogd door een hardwareapparaat zoals toetsenbord, timer, enz. Een valstrik passeert de besturing naar de opvangerbehandelaar en de onderbreking geeft de besturing door aan een onderbrekingsbehandelaar. Nadat de handler is uitgevoerd, schakelt de besturing terug naar het oorspronkelijke programma.

Key Areas Covered

1. Wat is Trap
     - Definitie, functionaliteit
2. Wat is interruptie
     - Definitie, functionaliteit
3. Relatie tussen Trap en Interrupt
     - Overzicht van vereniging
4. Verschil tussen Trap en Interrupt
     - Vergelijking van belangrijke verschillen

Sleutelbegrippen

Onderbreken, Besturingssysteem, Trap

Wat is Trap

Traps worden door het gebruikersprogramma opgeroepen om een ​​functionaliteit van het besturingssysteem aan te roepen. Stel dat het gebruikersprogramma iets op het scherm moet afdrukken. Het zou een val aanroepen en het besturingssysteem zal het schrijven van die gegevens naar het scherm uitvoeren. Vallen worden voornamelijk gebruikt om systeemaanroepen te implementeren.

Figuur 1: Typen gebeurtenissen

Een voorbeeld is als volgt. Neem aan dat er een statement is als printf ("% s \ n", str); Hiermee wordt de schrijffunctie opgeroepen om de uitvoer naar de standaarduitvoer die de monitor is, af te drukken. Dit zal een val aanroepen en het zal de besturing doorgeven aan de opvanger. Vervolgens verandert de gebruikersmodus naar de kernelmodus en voert het besturingssysteem de schrijfoproep uit. Nadat de taak is voltooid, wordt het besturingselement teruggezet naar de gebruikersmodus vanuit de kernelmodus.

Wat is interruptie

Een interrupt wordt veroorzaakt door een hardwareapparaat. USB-apparaat, NIC-kaart, toetsenbord kan interrupts veroorzaken. Onderbrekingen zijn asynchroon. Daarom kunnen ze op elk moment optreden.

Een processor heeft een speciale pin genaamd interrupt pin. Het wordt ook een INT-pin genoemd. Apparaten zoals toetsenborden worden via de interrupt-pin met de processor verbonden. Wanneer een toets wordt ingedrukt, genereert deze een interrupt. De processor schakelt over van het huidige proces naar een Interrupt Handler Routine. In dit scenario wordt de toetsenbordinterrupthandlerroutine aangeroepen. Na het voltooien van de interrupt handlerroutine, schakelt de processor terug naar het originele programma dat wordt uitgevoerd. Kort gezegd, wanneer een interrupt optreedt, schakelt de processor de context en voert de interrupt handler uit. Na voltooiing keert het terug naar de vorige staat.

Een processor heeft een enkele interrupt-pin, maar er zijn meerdere hardwareapparaten. De interruptcontroller helpt om de enkele interrupt-pin te delen tussen meerdere pinnen. De processor communiceert met de interruptcontroller om te bepalen welk apparaat de interrupt daadwerkelijk heeft gegenereerd. Afhankelijk daarvan, zal de processor de bijbehorende interrupt handlerroutine uitvoeren. Het kan timer, USB of toetsenbordonderbreker-handlerroutine zijn. 

Naast traps en interrupt is er nog een ander soort evenement met de naam exceptions. Ze worden automatisch gegenereerd door de processor. Uitzonderingen worden verder verdeeld in fouten en afgebroken. Een fout is een herstelbare fout, terwijl een afbreken een fout is die moeilijk te verwerken is.

Relatie tussen Trap en Interrupt

  • Trap en Interrupt zijn soorten evenementen.

Verschil tussen Trap en Interrupt

Definitie

De valstrik is een signaal afkomstig van een gebruikersprogramma dat aangeeft dat het besturingssysteem onmiddellijk op sommige functies moet worden uitgevoerd, terwijl de interrupt een signaal is naar de processor die wordt uitgezonden door de hardware, wat aangeeft dat een gebeurtenis onmiddellijke aandacht vereist.

Methode van genereren

Een trap wordt gegenereerd door een instructie in het gebruikersprogramma terwijl een interrupt wordt gegenereerd door hardwareapparaten.

Belangrijkste functionaliteit

Verder roept een trap OS-functionaliteit op. Het draagt ​​de besturing over aan de opvanger. Een interrupt activeert de processor om de bijbehorende interrupt handlerroutine uit te voeren.

voorval

Ook is een trap synchroon en kan aankomen na de uitvoering van een instructie terwijl een interrupt asynchroon is en kan optreden bij de uitvoering van elke instructie.

Synoniemen

Een trap wordt ook een software-interrupt genoemd, terwijl een interrupt ook een hardware-interrupt wordt genoemd.

Conclusie

Trap en Interrupt zijn twee soorten evenementen. Het verschil tussen trap en interrupt is dat de trap wordt geactiveerd door een gebruikersprogramma om OS-functionaliteit op te roepen, terwijl de interrupt wordt geactiveerd door een hardware-apparaat om de processor in staat te stellen de bijbehorende interrupthandlerroutine uit te voeren.

Referentie:

1. Besturingssysteem # 14 Wat is een onderbreking? Soorten onderbrekingen, Xoviabcs, 31 aug. 2017, hier beschikbaar.
2. Besturingssysteem # 16 Software onderbreekt | Systeemoproepen in xv6, Xoviabcs, 1 sept. 2017, hier beschikbaar.