Programmegszakítás

A Wikipédiából, a szabad enciklopédiából

A programmegszakítás (megszakítás, interrupt) a digitális számítógépeknél (programozható asztali számológépeknél, mikroprocesszoroknál) az a műveletsorozat, hogy az éppen feldolgozás alatt lévő program futásának félbehagyása, és egy magasabb prioritású (fontosabb, sürgősebb) végrehajtásának indítása, oly módon (elmenve egy átmeneti tárolóba az éppen futó program állapotát) hogy az a későbbiekben folytatható legyen. Ennek végrehajtása után a programvégrehajtás ott folytatódik, ahol abbamaradt (visszatöltve az eredeti program állapotát).

A programmegszakítást az teszi szükségessé, hogy a programok végrehajtása során felléphetnek olyan események, melyek egyszerű, hatékony kezelése csak az utasítás-végrehajtás „normális” menetének átmeneti felfüggesztésével lehetséges.

Ilyenek:

  • meghatározott külső műveletek befejezése, melyek bekövetkezésére számítani lehet, de ezek időpontja pontosan nem tervezhető (egy periféria jelzi, hogy egy input- vagy outputműveletet befejeződött)
  • szándékos, azaz programvezérelt módon generált események (rendszerhívások)
  • meghatározott programhibák (pl. 0-val való osztás)
  • teljesen véletlenszerűen és váratlanul fellépő események (súlyos hardverhiba vagy áramkimaradás)

Forrás[szerkesztés | forrásszöveg szerkesztése]