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:

03.10. 06.10.2017 Brno
16 000 Kč (bez DPH)
10.10. 13.10.2017 Praha
16 000 Kč (bez DPH)
16.10. 19.10.2017 Bratislava
620 EUR (bez DPH)
06.11. 09.11.2017 Bratislava 620 EUR (bez DPH) objednat
06.11. 09.11.2017 Praha 16 000 Kč (bez DPH) objednat
06.11. 09.11.2017 Ostrava 16 000 Kč (bez DPH) objednat
07.11. 10.11.2017 Brno 16 000 Kč (bez DPH) objednat
21.11. 24.11.2017 Košice 620 EUR (bez DPH) objednat
28.11. 01.12.2017 Bratislava 620 EUR (bez DPH) objednat
04.12. 07.12.2017 Brno 16 000 Kč (bez DPH) objednat
04.12. 07.12.2017 Praha 16 000 Kč (bez DPH) objednat
05.12. 08.12.2017 Ostrava 16 000 Kč (bez DPH) objednat
11.12. 14.12.2017 Košice 620 EUR (bez DPH) objednat
19.12. 22.12.2017 Bratislava 620 EUR (bez DPH) objednat
02.01. 05.01.2018 Brno 16 000 Kč (bez DPH) objednat
02.01. 05.01.2018 Ostrava 16 000 Kč (bez DPH) objednat
02.01. 05.01.2018 Praha 16 000 Kč (bez DPH) objednat
02.01. 05.01.2018 Košice 620 EUR (bez DPH) objednat
16.01. 19.01.2018 Bratislava 620 EUR (bez DPH) objednat
23.01. 26.01.2018 Košice 620 EUR (bez DPH) objednat
23.01. 26.01.2018 Brno 16 000 Kč (bez DPH) objednat

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