MENU
Vorwort
Kurse
Pokro?ilé programování v systému Unix/Linux v jazyku C
Interesse fĂĽr den Kurs

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

Der Kurs ist den Kategorien zugeordnet: Opera?ní systémy → Linux / Unix
Programování → C/C++
Ostatní

Kursstufe: expert

Course duration: 4 days

Kursinhalt:

  • 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

Erforderliche Kenntnisse: 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

.

Kurstermine:

Kein Termin augeschrieben.


Empfohlene vorhergehende und anschlieĂźende Kurse: