De hovedforskjell mellom felle og avbrudd er det felle utløses av et brukerprogram for å påkalle operativsystemfunksjonalitet mens avbrudd utløses av en maskinvareenhet for å tillate prosessoren å utføre den tilsvarende avbryterbehandlerrutine.
Et operativsystem er hendelsesdrevet. En hendelse kan oppstå plutselig mens du utfører et program. Det vil utløse operativsystemet til å utføre. Dette vil endre brukermodus til kjernemodus. Etter utførelsen av operativsystemet, sendes kontrollen tilbake til det opprinnelige programmet. Feller og avbrudd er to typer hendelser. En felle er hevet av et brukerprogram, mens en avbrudd blir hevet av en maskinvareenhet som tastatur, timer osv. En felle passerer kontrollen til falthåndtereren og forstyrrelsen overfører kontrollen til en avbruddshandler. Etter at håndtereren er utført, bytter kontrollen tilbake til det opprinnelige programmet.
1. Hva er Trap
- Definisjon, funksjonalitet
2. Hva er Avbryt
- Definisjon, funksjonalitet
3. Forholdet mellom felle og avbrudd
- Oversikt over foreningen
4. Forskjellen mellom felle og avbrudd
- Sammenligning av nøkkelforskjeller
Avbryt, Operativsystem, Trap
Feller økes av brukerprogrammet for å påkalle en funksjonalitet i operativsystemet. Anta at brukerprogrammet krever utskrift av noe på skjermen. Det ville påkalle en felle og operativsystemet vil utføre å skrive dataene til skjermen. Feller er hovedsakelig brukt til å implementere systemanrop.
Figur 1: Typer hendelser
Et eksempel er som følger. Anta at det er en uttalelse som printf ("% s \ n", str); Det er vil påkalle skrivefunksjonen for å skrive ut utgangen til standardutgangen som er skjermen. Dette vil påkalle en felle og det vil passere kontrollen til fellehåndtereren. Deretter endres brukermodus til kjernemodus og operativsystemet utfører skriveanropet. Etter at oppgaven er fullført, overføres kontrollen tilbake til brukermodus fra kjernemodus.
En avbrudd heves av en maskinvareenhet. USB-enhet, NIC-kort, tastatur kan forårsake avbrudd. Avbrudd er asynkron. Derfor kan de oppstå når som helst.
En prosessor har en dedikert pinne som kalles avbruddstifle. Det kalles også en INT-pin. Enheter som tastaturer er koblet til prosessoren via avbruddstiften. Når en tast er trykket, vil den generere en avbrudd. Prosessoren vil bytte fra for øyeblikket kjører prosess til en Interrupt Handler Rutine. I dette scenariet påkreves tastaturbruddshåndteringsrutinen. Etter å ha fullført avbruddshåndteringsrutinen, bytter prosessoren tilbake til det opprinnelige programmet som har kjørt. I utgangspunktet, når en avbrudd oppstår, bytter prosessoren konteksten og utfører avbryterhåndtereren. Etter ferdigstillelse skifter den tilbake til forrige tilstand.
En prosessor har en enkelt avbruddstast, men det finnes flere maskinvareenheter. Avbruddsstyringen hjelper til med å dele enkeltbruddstiften mellom flere stifter. Prosessoren kommuniserer med avbryterkontrollen for å avgjøre hvilken enhet som faktisk har generert avbrudd. Avhengig av det, vil prosessoren utføre den tilsvarende interrupt handlerrutinen. Det kan være tidsur, USB eller tastaturavbruddshandlerrutine.
I tillegg til feller og avbrudd er det en annen type begivenhet som kalles unntak. De genereres automatisk av prosessoren. Unntak deles videre i feil og avbrytes. En feil er en gjenopprettelig feil mens en abort er en feil som er vanskelig å håndtere.
En felle genereres av en instruksjon i brukerprogrammet mens en avbrudd genereres av maskinvareenheter.
Videre påkaller en felle OS-funksjonalitet. Den overfører kontrollen til fellerhåndtereren. En forstyrrelse utløser prosessoren for å utføre den tilsvarende interrupt handlerrutinen.
Også en felle er synkron og kan ankomme etter utførelsen av en instruksjon mens en avbrudd er asynkron og kan oppstå ved utførelse av en hvilken som helst instruksjon.
En felle kalles også en programvareavbrudd mens en avbrudd også kalles for maskinvareavbrudd.
Trap og Interrupt er to typer hendelser. Forskjellen mellom felle og avbrudd er at fellen utløses av et brukerprogram for å påkalle operativsystemets funksjonalitet, mens avbrudd utløses av en maskinvareenhet for å tillate prosessoren å utføre den tilsvarende avbruddshandlerrutinen.
1. Operativsystem # 14 Hva er et avbrudd? Typer av forstyrrelser, Xoviabcs, 31. august 2017, Tilgjengelig her.
2. Operativsystem # 16 Software Interrupts | Systemanrop i xv6, Xoviabcs, 1 september 2017, Tilgjengelig her.