|
|
|
||
Předmět má za úkol rozšířit znalosti získané v přednášce NSWI015 formou praktických příkladů.
Poslední úprava: Forstová Lenka, Mgr. (19.04.2018)
|
|
||
Debugging programů. Použití speciálních knihoven na odhalování různých tříd problémů (libumem(3lib), watchmalloc(3lib)). Trasování programu na úrovni systémových volání, knihovních funkcí i funkcí samotného programu (truss(1), gcore(1), pstack(1), mdb(1)). /proc filesystém. Ladící možnosti přítomné v dynamickém linkeru.
Rozšíření znalostí o sítovém API. Raw sockety. Další použití funkcí getsockopt() a setsockopt(). Použití tcpdump(1) pro ladění sítových aplikací. IPv6.
Práce s terminály. Rozdíl implementací terminálů na systémech SVR3, SVR4, a BSD. Postup při psaní terminálové aplikace.
Bezpečné programování. Jak psát bezpečnější kod a vyvarovat se zbytečných chyb. Klasifikace chyb. Příklady způsobů minimalizování chyb (privilege separation, sandboxing, fine-grained privileges vers UID 0). Příklady.
Prohloubení znalostí o POSIX vláknech. Představení alternativního API (pravděpodobně Solaris threads). Porovnání API.
Doplnění k meziprocesorové komunikaci, posílání souborových deskriptorů mezi procesy, doors. Více k ioctl(2). Asynchronní IO podle POSIXu (libaio(3c)). Volání pread, pwrite. Volání posix_spawn. Poslední úprava: T_SISAL (13.05.2009)
|