- vývoj a současnost UNIXu, standardy (The Single UNIX Specification), základní nástroje pro jazyk C, API/ABI
- popis funkce jádra OS z pohledu programátora v jazyce C
- evidence a kategorizace uživatelů/skupin, přístupová práva
- základy principů filesystémů, VFS, programování vstupů a výstupů, práce s file deskriptory
- manipulace s procesy, stavy procesů, spouštění programu, rozvržení virtuální paměti, formát ELF
- práce s rourami, sdílená paměť, rozhraní dynamického linkeru
- signály a jejich zpracování
- komunikace a synchronizace procesů, System V IPC
- síťová komunikace, rozhraní BSD sockets, převod jmen a IP adres
- vlákna a jejich vztah k procesům, synchronizace vláken (mutexy, rwlocks, podmínkové proměnné, semafory, bariéry)
Předmět má za úkol připravit studenty pro vývoj softwaru v prostředí Unixu a
Linuxu v programovacím jazyce C. Hlavními cíly je vysvětlit, jak pracuje rozhraní mezi uživatelskými programy a jádrem operačního systému a jaké jsou jeho kontrétní API, jak v těchto API psát složité programy, a také poskytnout znalosti k pochopení toho, jak vnitřně fungují různé projekty ze světa svobodného software napsané v jazyce C, se kterými se studenti mohou setkat.
Součástí předmětu je cvičení, které se do hloubky věnuje psaní kódu za pomoci odpřednášených API.