Title: Státnice / Společná informatika / Architektura počítačů a operačních systémů

Základní architektura počítače, reprezentace čísel, dat a programů: reprezentace a přístup k datům v paměti, adresa, adresový prostor

Základní architektura počítače, reprezentace čísel, dat a programů: ukládání jednoduchých a složených datových typů

Základní architektura počítače, reprezentace čísel, dat a programů: základní aritmetické a logické operace

Instrukční sada, vazba na prvky vyšších programovacích jazyků: Implementovat běžné programové konstrukce vyšších jazyků (přiřazení, podmínka, cyklus, volání funkce) pomocí instrukcí procesoru

Q: Instrukční sada, vazba na prvky vyšších programovacích jazyků: Zapsat běžnou konstrukci vyššího jazyka (přiřazení, podmínka, cyklus, volání funkce), která odpovídá zadané sekvenci (vysvětlených) instrukcí procesoru
A: jasan

Podpora pro běh operačního systému: privilegovaný a neprivilegovaný režim procesoru

Podpora pro běh operačního systému: jádro operačního systému

Rozhraní periferních zařízení a jejich obsluha: Popsat roli řadiče zařízení při programem řízené obsluze zařízení (PIO), pro zadané adresy a funkce vstupních a výstupních portů implementovat programem řízenou obsluhu zadaného zařízení (myš, disk)

Rozhraní periferních zařízení a jejich obsluha: Popsat roli přerušení při programem řízené obsluze zařízení (PIO), na úrovni vykonávání instrukcí popsat reakci procesoru (hardware) a operačního systému (software) na žádost o přerušení

Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup: neprivilegované (uživatelské) procesy

Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup: sdílení procesoru: procesy, vlákna, kontext procesu a vlákna

Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup: sdílení procesoru: přepínání kontextu, kooperativní a preemptivní multitasking

Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup: sdílení procesoru: plánování běhu procesů a vláken, stavy vlákna

Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup: sdílení paměti: Vysvětlit rozdíl mezi virtuální a fyzickou adresou a identifikovat, zda se v zadaném kontextu či fragmentu kódu používá virtuální nebo fyzická adresa

Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup: sdílení paměti: Na zadaném příkladu identifikovat a vysvětlit význam komponent virtuální a fyzické adresy (číslo stránky, číslo rámce, offset), Pro konkrétní adresy a obsah jednoúrovňové stránkovací tabulky řešit úlohy překladu adres

Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup: sdílení paměti: Vysvětlit roli virtuálních adresových prostorů v ochraně paměti procesů a vláken

Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup: sdílení úložného prostoru

Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup: soubory, analogie s adresovým prostorem

Základní abstrakce, rozhraní a mechanizmy OS pro běh programů, sdílení prostředků a vstup/výstup: abstrakce a rozhraní pro práci se soubory

Paralelismus, vlákna a rozhraní pro jejich správu, synchronizace vláken: časově závislé chyby (race conditions)

Paralelismus, vlákna a rozhraní pro jejich správu, synchronizace vláken: kritická sekce, vzájemné vyloučení

Paralelismus, vlákna a rozhraní pro jejich správu, synchronizace vláken: základní sychronizační primitiva, jejich rozhraní a použití, aktivní a pasivní čekání