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í

- 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).
Zeptej se na článek
Zeptej se na cokoliv z tohoto článku.
Souvisí s tímto
Jak těžký je tento článek?