Správa procesorů a přerušení (IRQ)

1. ročník SŠ

Přerušení IRQ (Interrupt Request) umožňují hardwarovým zařízením upozornit procesor, že potřebují jeho pozornost, například při stisknutí klávesy nebo při dokončení přenosu dat. Správa procesoru rozhoduje o tom, které procesy a vlákna dostanou čas na vykonávání instrukcí. Procesor díky přerušením nemusí neustále kontrolovat stav všech zařízení a může efektivněji vykonávat jiné úlohy. V tomto tématu se seznámíš s principem fungování hardwarových a softwarových přerušení, obsluhou přerušení a jejich významem pro komunikaci mezi hardwarem a operačním systémem.

Správa procesorů

  • může být i více procesorů v jednom PC
  • CPU řeší výpočet, řídí a kontroluje
  • cílem je efektivní využití jader CPU
  • řídí
    • plánování procesů (multitasking) spravedlivě
    • přepínání kontextu
    • správu více jader
    • synchronizuje a zamyká (aby 2 procesy nechtěli 1 věc současně)
    • správu stavů procesů (běží, hotovo atd.)

Přerušení

schéma
schéma přerušení; initialization - inicializace, main program loop - hlavní programová smyčka, external trigger - externí spouštěč, interrupt request - žádost o přerušení, interrupt service routine - ISRAutor: Rhoam - Vlastní dílo, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=120120029
  • Interrupt Request
  • možnost přerušení (pozastavení na chvíli) např. kvůli vstupu (např. klávese, či myši)
  • všechno řídí řadič (Interrupt Controller), ten informuje CPU o tom, že se něco musí udělat přednostně (uložit novou klávesu) pomocí ISR (Interrupt Service Routine), ta přerušení vykoná
  • prioritizace -** některé procesy musí mít větší prioritu** (obsluha RAM, GPU atd.), proto se přerušení vloží do fronty
    • většinou je chyba důležitější než přerušení (např. chyba dělení nulou)

Druhy řadičů

PIC

  • Programmable Interrupt Controller
  • externí čip
  • má 15 definovaných přerušení
  • funguje kaskádově (PIC se dělí na Master (IRQ 0-7) a Slave (IRQ 8-15) - Slave se předávají do IRQ 2)
  • podporuje jen jedno CPU a jedno jádro (směřuje jen na jedno jádro)

APIC

  • Advanced Programmable Interrupt Controller
  • integrovaný ve víceúrovňovém CPU
  • víceúrovňová prioritizace a distribuce (směruje přerušení na správné jádro)
  • sám řeší, který** proces a přerušení má vyšší prioritu**
  • flexibilně nastavitelný (softwarově)
  • podporuje i více jader a CPU
  • LAPIC
    • integrovaný v každém CPU
    • přijímá a řídí přerušení pro konkrétní CPU
    • generuje meziprocesorová přerušení

Ověř si porozumění

Zjisti, jak dobře látku ovládáš (10 otázek).

Spustit kvíz
Zeptej se na článek

Zeptej se na cokoliv z tohoto článku.

Správa procesorů a přerušení (IRQ)

Souvisí s tímto

Jak těžký je tento článek?