Skillnad mellan fälla och avbrott

De huvudskillnad mellan fälla och avbrott är det fälla utlöses av ett användarprogram för att åberopa operativsystemets funktionalitet medan avbrott utlöses av en maskinvaruenhet för att tillåta processorn att utföra motsvarande avbrottshanteringsrutin.

Ett operativsystem är händelsestyrt. En händelse kan inträffa plötsligt när du utför ett program. Det kommer att utlösa operativsystemet att exekvera. Detta kommer att ändra användarläge till kärnläge. Efter utförandet av operativsystemet går kontrollen tillbaka till det ursprungliga programmet. Fällor och avbrott är två typer av händelser. En fälla lyfts upp av ett användarprogram medan en avbrott höjs av en hårdvaruenhet som tangentbord, timer etc. En fälla överför kontrollen till fällhandtagaren och avbrottet överför kontrollen till en avbrottshanterare. Efter att ha kört handmataren växlar kontrollen tillbaka till det ursprungliga programmet.

Viktiga områden som omfattas

1. Vad är Trap
     - Definition, Funktionalitet
2. Vad är Avbryt
     - Definition, Funktionalitet
3. Förhållande mellan fälla och avbrott
     - Föreningens sammanfattning
4. Skillnad mellan fälla och avbrott
     - Jämförelse av viktiga skillnader

Nyckelbegrepp

Avbryt, Operativsystem, Fälla

Vad är Trap

Fällor lyfts upp av användarprogrammet för att påverka operativsystemets funktionalitet. Antag att användarprogrammet kräver utskrift av något till skärmen. Det skulle åberopa en fälla och operativsystemet kommer att utföra skrivning av den data till skärmen. Fällor används huvudsakligen för att genomföra systemsamtal.

Figur 1: Typ av händelser

Ett exempel är som följer. Antag att det finns ett uttalande som printf ("% s \ n", str); Det kommer att åberopa skrivfunktionen för att skriva ut utgången till standardutgången som är monitorn. Detta kommer att påkalla en fälla och det kommer att passera kontrollen till fällhandtagaren. Därefter ändras användarläge till kärnläge och operativsystemet utför skrivsamtalet. Efter uppgiften överförs kontrollen tillbaka till användarläget från kärnläget.

Vad är Avbryt

Ett avbrott höjs av en hårdvaruanordning. USB-enhet, NIC-kort, tangentbord kan orsaka störningar. Avbrott är asynkrona. Därför kan de ske när som helst.

En processor har en dedikerad stift som heter avbrottstiften. Det kallas också en INT-pin. Enheter som tangentbord ansluts till processorn via avbrottstiften. När en tangent trycks in kommer den att generera ett avbrott. Processorn byter från pågående process till en Interrupt Handler Routine. I detta scenario åberopas tangentbordets avbrottshanteringsrutin. Efter att ha avslutat avbrottshanteringsrutinen växlar processorn tillbaka till det ursprungliga programmet som körs. I grund och botten, när ett avbrott inträffar, byter processorn sammanhanget och utför avbrottshanteraren. Efter slutförandet växlar den tillbaka till föregående tillstånd.

En processor har en enda avbrottstang, men det finns flera hårdvaruenheter. Avbrottskontrollen hjälper till att dela den enda avbrottstiften mellan flera stift. Processorn kommunicerar med avbrottskontrollen för att bestämma vilken enhet som faktiskt genererade avbrottet. Beroende på det kommer processorn att exekvera motsvarande avbrottshanteringsrutin. Det kan vara timer, USB, eller Keyboard interrupt handlerrutin. 

Förutom fällor och avbrott finns det en annan typ av händelse som kallas undantag. De genereras av processorn automatiskt. Undantag delas vidare i fel och brister. Ett fel är ett återställbart fel medan en abort är ett fel som är svårt att hantera.

Förhållande mellan fälla och avbrott

  • Fälla och Avbryt är typer av händelser.

Skillnad mellan fälla och avbrott

Definition

Fällan är en signal som höjts från ett användarprogram som indikerar att operativsystemet ska utföra en viss funktionalitet omedelbart medan avbrott är en signal till processorn som emitteras av hårdvara som indikerar en händelse som kräver omedelbar uppmärksamhet.

Metod för framställning

En fälla genereras av en instruktion i användarprogrammet medan ett avbrott genereras av hårdvaruenheter.

Huvudfunktionalitet

Vidare anropar en fälla OS-funktionalitet. Den överför kontrollen till fällhandtagaren. Ett avbrott triggar processorn för att utföra motsvarande avbrottshanteringsrutin.

Förekomst

En fälla är också synkron och kan komma efter utförandet av någon instruktion medan ett avbrott är asynkront och kan uppstå vid utförandet av någon instruktion.

synonymer

En fälla kallas också ett programavbrott medan ett avbrott kallas också ett hårdvaruproblem.

Slutsats

Fälla och Avbryt är två typer av händelser. Skillnaden mellan fälla och avbrott är att fällan utlöses av ett användarprogram för att åberopa operativsystemets funktionalitet medan avbrottet utlöses av en hårdvaruanordning för att låta processorn utföra motsvarande avbrottshanteringsrutin.

Referens:

1. Operativsystem # 14 Vad är ett avbrott? Typer av avbrott, Xoviabcs, 31 aug 2017, Tillgänglig här.
2. Operativsystem # 16 Programvaruavbrott | System samtal i xv6, Xoviabcs, 1 september 2017, Tillgänglig här.