MENU
Úvod
Kurzy
Pokročilé programování v systému Unix/Linux v jazyku C
zájem o kurz

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

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

Kurz je zařazen v kategoriích: Operační systémyLinux / Unix
ProgramováníC/C++
Ostatní

Náročnost kurzu: expert

Délka kurzu: 4 dny

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.
  • Úč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

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

.

Termíny kurzu:

19.11. 22.11.2018 Ostrava
16 400 Kč (bez DPH)
19.11. 22.11.2018 Košice
640 EUR (bez DPH)
26.11. 29.11.2018 Bratislava
640 EUR (bez DPH)
04.12. 07.12.2018 Praha 16 400 Kč (bez DPH) objednat
04.12. 07.12.2018 Brno 16 400 Kč (bez DPH) objednat
10.12. 13.12.2018 Ostrava 16 400 Kč (bez DPH) objednat
18.12. 21.12.2018 Košice 640 EUR (bez DPH) objednat
18.12. 21.12.2018 Bratislava 640 EUR (bez DPH) objednat
03.01. 06.01.2019 Brno 16 400 Kč (bez DPH) objednat
04.01. 07.01.2019 Praha 16 400 Kč (bez DPH) objednat
08.01. 11.01.2019 Bratislava 640 EUR (bez DPH) objednat
28.01. 31.01.2019 Brno 16 400 Kč (bez DPH) objednat

Doporučené předchozí a návazné kurzy: