Rozhraní operačního systému (LNXPR2)
Unixové systémy, Linux - programování
Programování spolupracujících procesů či vláken pomocí POSIX rozhraní a linuxových rozšíření je dost „dřevorubecká“ práce. Pustit se do ní znamená tvořit si vlastní komunikační framework. Nechcete použít existující framework, ať už pro C, C++, nebo raději rovnou pro Rust? Pojďte se podívat a vyzkoušet si, jak se pracuje přímo s posixovou platformou.
Privátní školení a termíny na míru
Toto téma je možné zrealizovat pouze jako privátní, a to nejen formou uzavřeného firemního kurzu, ale také jako individuální konzultaci pro jednotlivce.
V případě kurzu na míru je níže uvedená osnova pouze inspirací. Finální obsah vzdělávání, jeho délka i termíny budou přizpůsobeny konkrétním vstupním znalostem, potřebám a cílům účastníků.
Cenovou nabídku vám rádi připravíme na základě vstupů zaslaných e-mailem nebo zadaných prostřednictvím poptávkového formuláře. Cena privátního školení vychází z náročnosti požadované obsahové náplně školení, časového rozsahu a celkového počtu přihlášených osob.
Lokalita, termín kurzu
Kontaktujte nás
Virtuálně se můžete přidat i ke školením ve výše nabízených lokalitách. Do poznámky v objednávce prosím uveďte „Připojím se virtuálně“
Náplň kurzu:
Skrýt detaily
-
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 normy 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í
-
Atomické operace, odstraňování zámků a optimalizace
-
Použití atomic builtins v gcc
-
Síťová komunikace s využitím socketů
-
Použití a vlastnosti socketů
-
Domény INET
-
INET6 a UNIX datagramovové a streamové spojení
-
Používání multicastingu a broadcastingu v komunikaci
-
Pokročilá práce se TCP/IP sockety
-
Neblokující TCP/IP spojení a jeho navázání
-
Sledování velkého množství descriptorů a doporučení
-
Srovnání volání poll, select a epoll
-
Pokročilé operace se signály
-
Realtime signály
-
Signály nesoucí data
-
Příjem signálů s epoll pomocí deskriptorů
-
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.
-
Práce s nástrojem Valgrind pro hledání problémů s přístupem k paměti a memory leaků
-
Ladění problémů s pamětí
-
Detekce memory leaků
-
Detekce race conditions
-
Předpokládané znalosti:
-
Znalost jazyka C, základní orientace v programování v systémech Unix a uživatelská znalost práce se systému Unix/Linux.
-
Doporučený předchozí kurz:
-
Základy unixového programování (LNXPR1)
-
Časový rozvrh:
-
4 dny (9:00hod. - 17:00hod.)
Vybrané zákaznické reference
Advantech Czech s.r.o., Tomáš P.
Rozhraní operačního systému (
LNXPR2)
"Na tomto školení jsem si prohloubil znalosti různých témat a dozvěděl jsem se pár nových věcí, které by mi mohly usnadnit práci."
RETIA, a.s., Jindřich S.
Rozhraní operačního systému (
LNXPR2)
"Školení bylo pro mne velice přínosné.Jsem s ním velmi spokojen."
RETIA, a.s., Jaromír K.
Rozhraní operačního systému (
LNXPR2)
"Konečně ucelené školení o linuxu. Spoustu jednotlivostí jsem již dřív věděl, ale až tady jsem si je dokázal propojit dohromady."
Petr Hliněný, Petr H.
Rozhraní operačního systému (
LNXPR2)
"Kurz mne mile překvapil, lektor měl znalosti nad mé očekávání, celkově jsem byl velice spokojen."