Od myši po tiskárnu: Sběrnice, Ovladače a Přerušení
Úvod: Babylonská věž hardwaru
Proč je I/O (Input/Output) nejtěžší úkol OS?
Variabilita: Existují miliony zařízení. Myš za 100 Kč, tiskárna za 50 000 Kč, VR brýle, termokamery.
Rychlost: Klávesnice pošle pár bajtů za minutu. Grafická karta potřebuje gigabajty za sekundu.
Role OS: Musí to všechno sjednotit. Programátor hry nechce řešit, jakou máte myš. Chce jen vědět: "Kliknul uživatel?".
🗣️ Icebreaker (5 min):
Zeptejte se: "Jaké nejpodivnější zařízení jste kdy připojili k počítači?" (Volant, taneční podložka, USB větráček). Všechna musí s OS mluvit. Jak to dělají?
Kategorizace zařízení
Bloková vs. Znaková
OS rozděluje svět hardwaru na dva hlavní tábory:
Typ
Charakteristika
Příklady
Bloková zařízení (Block Devices)
Data jsou v balících (blocích). Lze je adresovat (číst blok č. 50). Lze číst náhodně (skákat).
Pevný disk, SSD, CD-ROM, Flashka.
Znaková zařízení (Character Devices)
Data tečou jako proud znaků (stream). Nelze se vracet zpět. Nelze "skočit" na 50. znak, musíte počkat, až přijde.
Klávesnice, Myš, Tiskárna, Síťová karta.
🗣️ Analogie (5 min):
Blokové = Kniha (můžu otevřít stranu 50).
Znakové = Rozhovor (slova plynou, nemůžu přeskočit dopředu na to, co řekneš za minutu).
Sběrnice (The Bus): Dálnice pro data
Jak se data dostanou z bodu A do B?
Sběrnice je fyzický "kabel" (cesty na základní desce), po kterém běhají elektrony.
PCIe (Express): Dálnice. Extrémně rychlá, široká. Pro grafiky a NVMe disky. Přímé spojení s CPU.
USB (Universal Serial Bus): Okreska. Univerzální, pomalejší, sériová (bity jdou za sebou jako husy).
SATA: Starší cesta pro disky.
Otázka: Proč má grafická karta tak obrovský konektor (PCIe x16) a myš jen malý (USB)?
Jde o šířku pásma. Grafika potřebuje posílat miliardy pixelů (kamionů) každou sekundu. Myš pošle souřadnice jednou za čas (cyklista). Nemá smysl stavět dálnici pro cyklistu.
Jak CPU mluví s hardwarem?
Registry a Memory-Mapped I/O
Procesor nemá "ruce", aby otočil knoflíkem. Má jen dráty.
Každé zařízení má své Registry (ovládací schránky).
Registr 1: Příkaz (Co mám dělat?)
Registr 2: Data (Co mám poslat?)
Registr 3: Stav (Jsem připraven?)
Memory-Mapped I/O: OS "namapuje" tyto registry do paměti RAM.
Když CPU zapíše číslo 1 na adresu 0xA000, ve skutečnosti to nerozsvítí pixel v RAM, ale rozsvítí kontrolku NumLock na klávesnici.
🗣️ Hloubka (10 min):
Toto je pro studenty často "Mind-blowing". Zápis do paměti je ve skutečnosti komunikace s hardwarem. CPU si myslí, že píše do RAM, ale dráty vedou k tiskárně.
Ovladače (Device Drivers)
Univerzální překladač OSN
OS (Kernel) mluví obecně: "Vytiskni tohle".
Tiskárna HP mluví japonsky. Tiskárna Canon mluví svahilsky.
Ovladač je software od výrobce, který se zasune do Kernelu a překládá.
Bez ovladače je hardware jen "drahé těžítko".
Zajímavost: Proč pád ovladače grafiky (špatný software) shodí celý Windows (Modrá smrt)?
Protože ovladače běží v tzv. Kernel Mode (mají absolutní moc). Chyba v ovladači = chyba v jádře systému. OS se raději zabije, než aby riskoval poškození dat.
Metoda 1: Polling (Dotazování)
"Už tam budem? Už tam budem?"
Nejjednodušší, ale nejhloupější metoda.
CPU se v nekonečné smyčce ptá zařízení: "Jsi připraven? Máš data? Máš data?"
Zařízení většinou říká: "Ne".
Výsledek: Procesor je vytížen na 100 %, ale nedělá nic užitečného. Jen se ptá.
🗣️ Analogie (5 min):
Oslík ze Shreka. Nebo když čekáte na balík a každou minutu běžíte otevřít dveře, jestli tam není pošťák. Uvaříte u toho oběd? Ne, protože jen běháte ke dveřím.
Metoda 2: Přerušení (Interrupts)
Zvonek u dveří
Chytrá metoda. CPU pracuje na něčem jiném (vaří oběd).
Když zařízení něco chce (přišel pošťák), pošle elektrický signál na pin CPU (zazvoní).
ISR (Interrupt Service Routine): CPU okamžitě přeruší práci, uloží si, kde skončil, obslouží pošťáka (přečte klávesu) a vrátí se k vaření.
Otázka: Co když přijde důležitější přerušení (Hoří!), zatímco CPU řeší klávesnici?
Existují Priority přerušení. Požár (chyba napájení) má přednost před pošťákem (klávesnice). CPU pošťáka "podrží" a jde hasit.
Metoda 3: DMA (Direct Memory Access)
Brigádník na stěhování
Přerušení je fajn pro klávesnici. Ale pro disk?
Kopírování 4 GB filmu. Kdyby disk poslal přerušení pro každý bajt, CPU by se zbláznil.
DMA Řadič: Speciální čip na desce.
CPU řekne DMA: "Vezmi tahle data z disku a dej je do RAM. Až to budeš mít celé, zazvoň na mě."
CPU jde dělat jinou práci. DMA "stěhuje" data na pozadí.
🗣️ Didaktika (5 min):
Ředitel firmy (CPU) nebude nosit krabice do skladu. Najme si stěhováky (DMA). Ředitel jen podepíše papír na začátku a na konci.
Buffering a Spooling
Vyrovnávání rychlostí
Rychlý CPU posílá data pomalé tiskárně. Co s tím?
Buffer (Mezipaměť): Nádrž. CPU ji naplní rychle, tiskárna si z ní pomalu upíjí. (Příklad: YouTube video se načte dopředu).
Spooling (Simultaneous Peripheral Operations On-line): Tiskárna nemůže tisknout dva dokumenty naráz. Dokumenty se uloží na disk do fronty (Spool). Tiskárna si je bere jeden po druhém.
🗣️ Praxe (5 min):
Ukažte studentům "Tiskovou frontu" ve Windows. To je Spooler. Díky němu můžete ve Wordu kliknout Tisk a hned Word zavřít, i když tiskárna ještě nezačala.
Spolehlivost: Disková pole (RAID)
Když jeden disk nestačí
Praktické pro učitele spravující školní data:
RAID 0 (Speed): Data se dělí na dva disky (Zip). 2x rychlejší, ale když jeden disk umře, ztratíte vše. (Nevhodné pro zálohu).
RAID 1 (Mirror/Zrcadlo): Data se zapisují na dva disky identicky. Když jeden shoří, data jsou na druhém. (Nutnost pro důležitá data).
RAID 5: Kompromis. Rychlost i bezpečnost.
Varování: RAID není záloha! Pokud si omylem smažete soubor, RAID ho spolehlivě smaže z obou disků naráz. RAID chrání jen proti selhání železa (hardwaru).
Moderní svět: Plug and Play (PnP)
"Zastrč a hraj" (dříve "Zastrč a modli se")
Co se stane, když zasunete USB flashku?
Detekce: USB řadič zjistí změnu napětí. Vyvolá přerušení.
Dotaz (Enumeration): OS se zeptá: "Kdo jsi? Jaké máš ID?"
Odpověď: Zařízení pošle Vendor ID a Product ID.
Hledání: OS prohledá databázi ovladačů. Najde shodu.
Start: Načte ovladač a přidělí písmeno disku (E:).
🗣️ Zvuk (5 min):
Ten zvuk "Tu-dum", který Windows udělá, je zhudebněný úspěch tohoto procesu. Znamená to "Našel jsem ovladač a rozumím mu".
Unplugged aktivita: Hra na Přerušení a DMA
Komplexní simulace
Role
CPU (1 žák): Sedí, skládá puzzle (náročná práce).
Klávesnice (1 žák): Má zvoneček a lístečky s písmeny.
Disk (1 žák): Má krabici s knihami (těžká data).
DMA Řadič (1 žák): Silák.
Scénář:
Klávesnice zazvoní. CPU musí přerušit puzzle, vzít lísteček, poděkovat. (Interrupt).
CPU nařídí DMA: "Přines knihy od Disku".
CPU se vrátí k puzzle. DMA mezitím fyzicky nosí knihy na stůl. CPU to nezajímá.
Až DMA donosí, zazvoní na CPU: "Hotovo".
🗣️ Reflexe (10 min):
Ukazuje efektivitu. Kdyby CPU musel nosit knihy sám, puzzle by nikdy nedostavěl. Paralelní práce je klíčem k výkonu.
Závěr a shrnutí 5. lekce
Co si pamatovat?
Ovladač je tlumočník. Bez něj OS hardwaru nerozumí.
Polling je jako otravné dítě ("Už tam budem?"). Přerušení je jako zvonek u dveří.
DMA umožňuje procesoru "delegovat" těžkou práci (kopírování) a věnovat se uživateli.
RAID 1 (Zrcadlení) zachrání data při selhání disku, ale ne při smazání souboru.
🗣️ Upoutávka:
Příště se podíváme na Uživatelská rozhraní (UI). Jak se z příkazů v terminálu staly barevné ikony a proč je přístupnost (Accessibility) tak důležitá pro inkluzi ve školství.