Osnova přednášky Programování v UNIXu

zimní semestr 2009/2010

Vemte prosím na vědomí, že čísla slajdů neodpovídají současné verzi, je to jen orientační, protože slajdy se průběžně upravují.

1. přednáška (5.10)
Administrativa, podmínky a pravidla, informace o cvičení, průřez celou přednáškou s ukázkou příkladů.
[slajdy 1-210]

2. přednáška (12.10)
úvod, literatura, vývoj, standardy, C, programátorské utility, konvence, princip překladu, linker, ar, make, dynamický linker
[slajdy 1-32]

3. přednáška (19.10)
API vers ABI, debuggery, přehled headerů, main(), environment proměnné, zpracování přepínačů (getopt, getopt_long), struktura UNIXu, procesy, vlákna, programy
[slajdy 32-50]

4. přednáška (26.10)
systémová volání obecně, knihovní funkce, API pro soubory
[slajdy 51-52, 77-98]

5. přednáška (2.11)
/etc/passwd, /etc/group, přístupová práva, identifikace procesů a souborů (UID, GID), set UID, úvod do systému souborů, přístup k zařízením, fyzické uložení filesystému, organizace filesystémů s5 a ufs, navigace v adresářích, linky, vývoj ve správě adresářových položek, VFS, otevřené soubory z pohledu jádra, práva pro soubory, různé způsoby zajištění konzistence souborového systému, fsck
[slajdy 55-77]

6. přednáška (9.11)
skupiny procesů, job control, sessions, identifikace procesu, start a ukončení procesu a programu, roury
[slajdy 109-117]

7. přednáška (16.11)
paměť procesů a jádra, virtuální paměť, stavy procesu, plánování procesů, sdílená pamět, mapování souborů do paměti
[slajdy 101-109, 120-123]

8. přednáška (23.11)
dynamický přístup ke knihovnám, signály
[slajdy 124-125, 127-138]

9. přednáška (30.11)
úvod do synchronizace procesů, zamykání (problém vzájemného vyloučení, lock soubory, zamykání pomocí fcntl, deadlock), System V IPC obecně, System V semafory.
[slajdy 135-153]

10. přednáška (7.12)
síťová komunikace
[slajdy 154-175]

11. přednáška (14.12)
select/poll, inetd, úvod do vláken
[slajdy 176-193]

12. přednáška (4.1)
synchronizace vláken, reentrantnost funkcí, nepřenositelná volání pro vlákna
[slajdy 194-205]

13. přednáška (11.1)
??? Uvidíme jak to stihnemem - možná zde bude debugging programů.
[slajdy 194-205]