← Zpět na obsah
** Kapitola pro maturitní obory
Kapitola 12.3**: Běh a provoz programu
Co se naučíš: Pochopíš, co se děje po spuštění programu, jak program běží v paměti, a základy správy provozu aplikací.
1. Životní cyklus programu
Program prochází několika fázemi od napsání po ukončení:
- Zdrojový kód: Text napsaný programátorem.
- Kompilace/Interpretace: Překlad do strojového kódu.
- Spuštění: Program se načte do paměti.
- Běh: CPU provádí instrukce.
- Ukončení: Program uvolní prostředky.
2. Procesy a vlákna
- Proces: Běžící instance programu s vlastní pamětí.
- Vlákno (Thread): Jednotka vykonávání uvnitř procesu. Vlákna sdílejí paměť.
- Multitasking: Operační systém střídá procesy, vypadá to, že běží najednou.
Příklad: Prohlížeč Chrome má jeden hlavní proces a každá záložka běží jako samostatný proces. Takto pád jedné záložky neshodí celý prohlížeč.
3. Stavové chování programu
Program může být v různých stavech:
- Běžící (Running): CPU právě vykonává instrukce.
- Čekající (Waiting): Čeká na vstup nebo událost.
- Připravený (Ready): Čeká na přidělení CPU.
- Ukončený (Terminated): Program skončil.
4. Správa paměti
- Stack (Zásobník): Pro lokální proměnné a volání funkcí.
- Heap (Halda): Pro dynamicky alokovaná data.
- Garbage Collection: Automatické uvolňování nepoužívané paměti (Python, Java).
- Memory Leak: Chyba, kdy program neuvolňuje paměť → zpomalení.
Časová složitost - jak rychle roste čas s daty
5. Monitorování a logování
Profesionální aplikace potřebují sledování. Představ si, že tvůj program běží na serveru 24/7 – jak bys věděl, že něco nefunguje?
- Logy: Záznamy o činnosti programu – co se stalo, kdy, jaké chyby nastaly.
- Metriky: Číselné ukazatele – využití CPU, paměti, počet požadavků za sekundu.
- Alerting: Automatické upozornění (email, SMS) při problémech.
- Nástroje: Task Manager, htop, Prometheus, Grafana.
Big O notace - měření efektivity algoritmu
6. Prakticky: Správce úloh
Ve Windows otevři Správce úloh (Ctrl+Shift+Esc):
- Procesy: Seznam běžících programů s jejich spotřebou prostředků.
- Výkon: Živé grafy využití CPU, RAM, disku, sítě.
- Historie: Spotřeba prostředků jednotlivými aplikacemi za čas.
- Spouštění: Programy, které se spouštějí při startu Windows.
Porovnání řadících algoritmů - rychlost záleží
** Úkoly pro maturitní obory
-
Analýza procesů: Otevři Správce úloh. Najdi 5 procesů s nejvyšším využitím CPU a RAM. Napiš, co dělají a proč spotřebovávají prostředky.
-
Excel – Sledování prostředků: Každou hodinu zapiš do tabulky využití CPU a RAM. Po dni vytvoř graf. Kdy bylo využití nejvyšší?
-
Python – Jednoduchý log: Napiš program, který zapisuje do souboru "log.txt" aktuální čas a zprávu při každém spuštění.
-
Word – Dokumentace: Napiš dokument "Životní cyklus programu" (2-3 strany). Vysvětli všechny fáze s příklady a diagramem.
-
PowerPoint – Procesy vs Vlákna: Vytvoř prezentaci vysvětlující rozdíl mezi procesy a vlákny (8-10 snímků). Použij analogie a příklady.
-
Canva – Infografika: Vytvoř infografiku "Co se děje po spuštění programu" – krok za krokem od dvojkliku po běh.