Lektoři z firmy: PC-DIR Real, s.r.o.
Procesy Vytvoření procesů, návaznosti procesů (process groups, sessions), obsluha ukončení potomků procesu (problematika zombie), vlastnosti procesů Postup vytvoření démona IPC komunikace Signály – účel a použití, obsluha signálů asynchronní a synchronní, blokování, doporučená metodika obsluhy signálů pro zabránění deadlocků Roura, FIFO, socketpair – vlastnosti a použití SystemV IPC - semafory, fronty zpráv, sdílená paměť – princip, vlastnosti a použití jednotlivých mechanismů POSIX IPC – semafory, fronty zpráv, sdílená paměť – princip, vlastnosti a použití jednotlivých mechanismů Používání sdílené paměti – podložené souborem, anonymní (SVR a BSD implementace) Využití vláknových prostředků (mutex, cond. variables) pro komunikaci mezi různými procesy Řešení klasické úlohy producer/consumer pomocí jednotlivých prostředků Vícevláknové aplikace dle POSIX Principy implementace vláken a z toho plynoucí vlastnosti Vytvoření, nastavení vlastností, ukončování vícevláknových aplikací Základní synchronizační mechanismy – mutex, conditional variables, R/W lock, barriers, spinlocks Strategie předcházení deadlockům a chybám vícecláknových aplikací Thread specific data (POSIX a GCC implementace) – účel a použití Síťová komunikace s využitím socketů - použití, vlastnosti, domény INET, INET6 a UNIX datagramovové a streamové spojení, používání multicastingu a broadcastingu v komunikaci Ladění a sledování běžících procesů - ladění pomocí gdb, vzdálené ladění, ladění programů s odstraněnými symboly. Metody sledování procesů (strace, ltrace, pstack, pmap) a profilling. Nástroje pro detekci chyb alokace a přetečení paměti. Účastníci standardně pracují v systému GNU/Linux (používá se aktuální verze distribuce CentOS) a dále mají k dispozici pro porovnání některých rozdílů systémy NetBSD a Solaris |
Kurz je orientován na prohloubení znalostí a technik programování v systému Unix se zaměřením na oblasti používané hlavně při programování aplikací plnících roli serveru. V kurzu jsou probírána tři nosná témata: IPC – meziprocesorová komunikace, vícevláknové programování a síťová komunikace pomocí socketů. |