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.
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
Avbryt, Operativsystem, Fälla
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.
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.
En fälla genereras av en instruktion i användarprogrammet medan ett avbrott genereras av hårdvaruenheter.
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.
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.
En fälla kallas också ett programavbrott medan ett avbrott kallas också ett hårdvaruproblem.
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.
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.