You are on page 1of 2

4.

Tétel

Megszakítás (interrupt)
 
A megszakítások segítségével a számítógép rugalmasan reagálhat a környezeti változásokra. A megszakítások
olyan események, jelzések, melyek befolyásolják a folyamatok működését.
 
Egy utasítás-végrehajtási ciklus általános sémája:
 

  igen
  Megszakítás?
 
 
nem
 
 
   
  Lehívási lépés (fetch)
 
   
  Lehívási lépés (fetch)
 
  Végrehajtási lépés
  (execution)
 
 
 
 
 
Megszakítás forrás-csoportok:
 
A megszakítási rendszert az eredeti célon, az I/O tevékenységek és feldolgozási tevékenységek szinkronizálásán
kívül ma már egyéb célokra is felhasználják:
 
Hardver
 
- belső hardver-megszakítások, például a belső, programozható óra;
- komoly hardver-meghibásodások, pl. tápfeszültség kimaradása;
 
Szoftver
 
- alapszoftver-megszakítások, például rendszer-hívások;
- utasítás-végrehajtási hibák, például nullával való osztás, túlcsordulás;
 
A megszakításokat kezelő hardver a különböző megszakításokhoz általában prioritást rendel, a megszakítás
kiszolgálását egy magasabb prioritású megszakíthatja. A megszakítások hatására az operációs rendszer
megfelelő kiszolgáló rutinja indul el, egy rövid időre felfüggesztve az éppen futó folyamatot. A megszakítás
kiszolgálása után általában a felfüggesztett folyamat fut tovább.
 
A megszakítások kiszolgálásának lépései:
 
- a futó folyamat kiszolgálása megszakad, a vezérlést az operációs rendszer kapja meg;
- a megszakított folyamat kontextusa (regiszterek és az állapotinformációk (programszámláló, azaz PC,
az állapotjelző bitek)) elmentésre kerül annak érdekében, hogy a megszakított folyamatot később
folytatni lehessen. Az állapotmentést a hardver is támogatja;
- a vezérlést a megszakítást kiszolgáló rutin kapja meg, amely elvégzi az előírt tevékenységét, majd
befejezi futását;
- az elmentett állapot visszaállítása után általában a megszakított folyamat kapja vissza a vezérlést.
 
PC-környezetben
- a megszakítás-kezelést támogató hardver a megszakított folyamat folytatásához ad automatikus
eszközöket, például a megszakítás érvényre juttatásakor elmenti a programszámláló és néhány regiszter
tartalmát s ezeket a „Visszatérés megszakításból” gépi utasítás állítja vissza.
- a kiszolgáló rutin ismeri az operációs rendszer adatszerkezeteit, így a visszatérés előtt átírhatja az
elmentett regiszter-értékeket, megváltoztathatja a folyamatok állapotát, így megszervezheti, hogy a
visszatérés után egy másik folyamat folytassa működését. Ez különösen a multitasking üzemmód esetén
fontos feladat.

You might also like