Programování v C pro Linux a POSIX platformy (LNXPR1)

Unixové systémy, Linux - programování

Linux a tradiční UNIX platformy poskytují vlastní rozhraní operačního systému. Standardní knihovna jazyka ISO C není dostačující, pokud chcete na těchto systémech vytvářet seriózní aplikace. Pro efektivní programování je nezbytné využívat rozhraní POSIX, které definuje, jak aplikace komunikují s operačním systémem prostřednictvím standardních knihovních funkcí.

Tento kurz vám pomůže pochopit principy komunikace aplikací s operačním systémem a umožní vám psát výkonné programy pro Linux a příbuzné platformy.

TOTO ŠKOLENÍ VÁM POMŮŽE:

  • Pochopit, jak aplikace komunikují s operačním systémem prostřednictvím POSIX rozhraní
  • Naučit se efektivně pracovat s tradičními vývojovými nástroji, jako je kompilátor, linker a makefiles
  • Zvládnout práci se souborovým systémem, správou procesů a paměťovým managementem
  • Využívat systémové volání a knihovní funkce pro stabilní API a ABI
  • Ovládnout základy ladění aplikací a řešení běžných problémů pomocí debuggerů a tracerů

KDO BY SE MĚL KURZU ZÚČASTNIT?

  • Vývojáři, kteří chtějí psát efektivní aplikace pro Linux a POSIX platformy
  • Programátoři, kteří se zaměřují na servery nebo embedded systémy
  • IT profesionálové, kteří potřebují rozšířit své znalosti o systémových rozhraních a knihovních funkcích

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.

KDE A KDY KURZ PROBÍHÁ?

Kontaktujte nás

S námi máte na výběr: Přijďte na kurz osobně do naší učebny, nebo se ke kurzu připojte online. Pokud preferujete online formu, uveďte prosím do poznámky v objednávce "Připojím se virtuálně".
Více informací k hybridní formě školení naleznete zde.

Náplň kurzu:

Skrýt detaily
  • Using plain C in application code
    1. What makes code in user-space different
    2. Distinction between server and embedded use cases
    3. Development and testing environment on Linux
  • Development of the C language
    1. Current status of the C programming standards
    2. News in C11, C23 and POSIX.1-2024
    3. Future of C programming
  • Traditional development toolchain 
    1. Compiler, linker and friends 
    2. Makefiles and alternative builders 
    3. Build options and configuration 
  • System calls and library functions 
    1. How applications talk to the kernel 
    2. Why we need libc for stable API and ABI 
    3. Using tools to see what happens in programs 
  • Input, output and communication 
    1. How data flows between application and kernel 
    2. Streams and file descriptors 
    3. ANSI/ISO versus POSIX file operations 
  • Errors and error handling 
    1. Dealing with fatal and non-fatal errors 
    2. Error emission and propagation 
    3. Interrupted system calls 
  • Working with the file system 
    1. File system management operations 
    2. Relative paths and the current directory 
    3. Security and permissions 
  • Working with time and delays 
    1. Measuring clock and durations 
    2. Scheduling clock events 
    3. Waiting and sleeping 
  • Process management 
    1. Forking, execution and spawning 
    2. Program arguments and environment 
    3. Resources and resource limits 
  • Memory management 
    1. Dynamic allocation and reallocation 
    2. Boundary between application and kernel 
    3. Text and memory range operations 
  • Loadable shared libraries 
    1. Interface and implementation 
    2. Dynamic library dependencies 
    3. Loading dynamic libraries manually 
  • Debugging application programs 
    1. How kernel handles program debugging 
    2. Using debuggers and tracers 
    3. Avoiding common issues 
Předpokládané znalosti:
dobré znalosti programování v jazyku C
Doporučený předchozí kurz:
Linux – základy administrace (LNX1)
Doporučený následný kurz:
Rozhraní operačního systému na Linux a POSIX platformách (LNXPR2)
Časový rozvrh:
3 dny (9:00hod. - 17:00hod.)

Vybrané zákaznické reference

ComAp a.s., Jan T.
Programování v C pro Linux a POSIX platformy ( LNXPR1)
"Lektor ma viditelne vysokou odbornost a dobre pedagogicke schopnosti. Prostor pro zlepseni vidim ve vyjadrovani, napriklad mene castem pouzivani obratu "...jak kdyby.." :-)"