Parfémy
Krása
Produkty pro zdraví
Hodinky
Elektro
Šperky a klenoty
Nábytek
Nářadí a zahrada
Outdoor
Počítače a notebooky
Přerušení (anglicky interrupt) je v informatice nástroj pro asynchronní obsluhu událostí, kdy procesor přeruší vykonávání instrukcí a vykoná obsluhu přerušení. Původně přerušení sloužilo k obsluze hardwarových zařízení, později se přidala synchronní softwarová přerušení a vnitřní přerušení pro oznamování chyb procesorem vzniklých při provádění strojových instrukcí.
Obsah |
Původně se tak označovalo IRQ, tedy hardwarové přerušení, které nastává jako reakce na signál od zařízení, které jím upozorňuje procesor (obvykle operační systém, přesněji svůj ovladač v tomto systému), že potřebuje obsloužit. Procesor při příchodu přerušení přestane provádět současný výpočet, uloží část svého stavu a začne vykonávat obsluhu přerušení. Takovýto typ přerušení (vyvolaný HW) je tzv. asynchronní, tedy může přijít v libovolném bodu výpočtu (nikoliv ovšem doslova libovolném: například nemůže přijít uprostřed instrukce, a to ani u moderních superskalárních procesorů, ve kterých se instrukce rozkládá na více interních instrukcí). Přerušení přichází bez ohledu na to, kolik je momentálně vykonávaných programů. Přerušení lze také v některých případech zakázat maskováním – k obsluze přerušení dojde až po opětovném povolení přerušení.
Obecnějším termínem se to stalo při zavedení softwarových přerušení, tedy přerušení vyvolávaných přímo uvnitř procesoru a využívající stejnou nebo podobnou metodu předání řízení z probíhajícího výpočtu do obsluhy přerušení. Softwarové přerušení může být vyvoláno buď speciální instrukcí (přerušení se používá jako způsob volání operačního systému z aplikace), nebo výjimečným stavem výpočtu, neboli výjimkou (dělení nulou, přístup k neexistující adrese). Softwarová přerušení jsou vždy tzv. synchronní. Pokud příjde více přerušení, musí systém vyhodnotit, v jakém pořadí se budou provádět.
ISR je obslužný podprogram pro vykonání obsluhy daného přerušení a je obvykle součástí ovladače zařízení, které přerušení vyvolalo. ISR musí nejprve uložit stavové informace CPU na zásobník (FR a PC). Poté provede obsluhu přerušení a nakonec obnoví ze zásobníku stav CPU a přerušená činnost pokračuje v místě kde byla při příchodu přerušení vykonávaná instrukce pozastavena. Přerušený program v podstatě nic nepozná – až na malé zpoždění.
Architektura x86 má dvě instrukce pro softwarové přerušení: int a int03, speciální krátkou formu určenou jako breakpoint pro debuggery.
Má šest výjimek:
into pokud je ve vlajkách zaznamenáno přetečeníU procesoru i386 přibylo 9 dalších:
| IRQ 0 | Řadič systémového času |
| IRQ 1 | Řadič klávesnice |
| IRQ 2 | Připojení řadičů přerušení z I/O rozhnaní (kaskáda)- zde jsou sjednoceny IRQ 8 až IRQ 15 |
| IRQ 3 | Sériový port 2 |
| IRQ 4 | Sériový port 1 |
| IRQ 5 | Paralelní port 2 |
| IRQ 6 | Řadič disket |
| IRQ 8 | Hodiny reálného času |
| IRQ 9 | Volný, podle připojeného zařízení |
| IRQ 10 | Volný, podle připojeného zařízení |
| IRQ 11 | Volný, podle připojeného zařízení |
| IRQ 12 | Volný, podle připojeného zařízení |
| IRQ 13 | Numerický koprocesor |
| IRQ 14 | Řadič pevného disku |
| IRQ 15 | Volný, podle připojeného zařízení |