Avbryt hanterare

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 27 mars 2016; kontroller kräver 6 redigeringar .

En avbrottshanterare (eller avbrottsservicerutin) är en speciell rutin som anropas på ett avbrott för att hantera det. Avbrottshanterare kan utföra många funktioner, beroende på orsaken som orsakade avbrottet.

En avbrottshanterare är lågnivåmotsvarigheten till en händelsehanterare. Dessa hanterare anropas antingen av ett hårdvaruavbrott eller av en motsvarande instruktion i ett program, och är därför vanligtvis avsedda att interagera med enheter eller anropa operativsystemfunktioner.

På moderna datorer finns de huvudsakliga avbrottshanterarna för hårdvara och mjukvara i BIOS -minnet . Det moderna operativsystemet, under uppstarten, ersätter dessa hanterare med sina egna. När drivrutiner laddas fördelar operativsystemet avbrottshanteringen mellan dem. I operativsystem i Windows -familjen används mjukvaruavbrott för att anropa många API - funktioner. I X86 assembler anropas ett avbrott av int-instruktionen.

Översikt

I moderna system är avbrottshanterare indelade i högprioriterade avbrottshanterare (HOP) och lågprioriterade avbrottshanterare (LIOs).

Strikta krav ställs vanligtvis på exekvering av en VOP: kort exekveringstid, ett litet antal operationer tillåtna för exekvering, speciell tillförlitlighet, eftersom fel som görs under exekvering kan krascha operativsystemet, vilket inte kan behandla dem korrekt. Därför gör allmänläkare vanligtvis det minsta arbetet: serva avbrottet snabbt, samla in viktig information som bara är tillgänglig vid den tidpunkten och schemalägg en COP för vidare bearbetning.

GPs som servar hårdvaruenheter döljer vanligtvis sina avbrott för att förhindra kapslade samtal som kan orsaka stackoverflows .

NOP avslutar avbrottsbehandlingen. NOP har antingen en egen tråd för bearbetning, eller lånar en tråd från systempoolen under bearbetningens varaktighet. Dessa trådar är schemalagda i nivå med andra, vilket möjliggör smidigare utförande av processer. NOP utförs med mycket mindre stränga tids- och resursbegränsningar, vilket gör det lättare att programmera och använda drivrutiner .

I olika system heter GP och NOP olika. I Windows operativsystem kallas VOP en avbrottshanterare, och DOP är ett uppskjuten proceduranrop ( DPC , Deferred Procedure Call)

Se även