Pokročilé programování v systému Unix/Linux v jazyku C (UXAP)

oblast: Programování, Linux / Unix

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ů.

Náplň kurzu:
  • 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.
Předpokládané znalosti: znalost jazyka C, základní orientace v programování v systémech Unix na úrovni kurzu C3 a uživatelská znalost práce s systému Unix/Linux
Časový rozvrh: 4 dny (9:00 hod. - 17:00 hod.)
Cena kurzu bez DPH: 16 000 Kč
V ceně je publikace v hodnotě: 500 Kč

Aktuální termíny kurzu:
   4.6. - 7.6.2012   
Pokud vám tento termín nevyhovuje, zavolejte!
Zkusíme se domluvit na jeho případné změně.