Edocti
Training tehnic avansat pentru inginerul software de mâine
Edocti Training

Linux Internals and Application Programming

Intermediar
21 h
4.7 (201 recenzii)

Sesiuni programate

Nu există sesiuni disponibile în acest moment.
Linux Internals and Application Programming

O incursiune practică în interiorul Linux: Învață să construiești aplicații complexe folosind system calls, managementul proceselor, IPC și managementul memoriei în C/C++.

Rezolvă laboratoare hands‑on axate pe API-uri POSIX, file I/O, semnale, pipe‑uri și shared memory.

Explorează în detaliu algoritmii de CPU scheduling, multithreading și mecanismele avansate de sincronizare.

Dobândești experiență practică programând, testând și depanând activ aplicații user‑space complexe (~70% practică).

Cum te ajută: Îți construiești o fundație tehnică extrem de solidă pentru a dezvolta aplicații Linux eficiente, sigure și portabile.

Cui i se adresează: Programatorilor cu baze de C/C++ și Linux care doresc să treacă la nivelul avansat de programare de sistem (system-level programming).

La final, vei stăpâni arhitectura internă a sistemului de operare și vei putea proiecta aplicații user-level robuste și performante.

Abilități dobândite

Linux System Calls POSIX APIs & IPC Multithreading & Sincronizare Managementul Memoriei Semnale & Tratarea Erorilor GDB & Core Dumps Bazele Yocto Project Concepte Embedded Linux

Curriculum

Introducere în embedded Linux

  • Analiza principalelor componente ale unui proiect embedded Linux

Toolchains

  • Tipuri de toolchains
  • Alegerea bibliotecii C
  • Componentele și uneltele toolchain-ului
  • Construirea unui toolchain (focus pe ARM)
  • Static vs. dynamic linking
  • Cross-compiling pentru proiecte mai mari — exemplu

Bootloaders

  • Înțelegerea bootloader-elor
  • Introducere în device trees
  • Das U-Boot: instalare, configurare, comenzi principale

Booting the kernel

  • Boot pe BeagleBone Black
  • Boot pe QEMU

O aplicație Linux simplă

  • Introducere foarte scurtă în POSIX IPC
  • Construirea unei aplicații IPC folosite pe parcursul cursului

Debugging și core dumps

  • Debugging de bază
  • Debugging remote
  • Comenzile principale GDB
  • Analiza fișierelor core și controlul aplicațiilor CPU‑intensive

Intro în Yocto

  • Instalarea Yocto
  • Configurare, build și rulare
  • Layers, BitBake și rețete
  • Personalizarea imaginilor

Kernel programming – preview

  • Error numbers și output-ul kernelului
  • Prezentare task_struct
  • Liste înlănțuite în kernel
  • Mecanisme OOP în kernel

Intro în module

  • Exemplu trivial
  • Compilarea modulelor
  • Modules vs. built‑in
  • Utilitare pentru module
  • Încărcare/descărcare automată
  • Export de simboluri

Intro în device drivers

  • Modules și device drivers
  • Alocare/dealocare memorie
  • Transfer de date între user‑space și kernel‑space
  • Character devices
  • Utilizarea cache-ului
  • Interrupts și exceptions
  • Deferrable functions

Module opționale

Îmbunătățiri sugerate (opțional)

  • Unități systemd și supravegherea proceselor
  • IPC avansat: POSIX message queues, shared memory, semaphores
  • Filesystems: bazele /proc și sysfs pentru developeri de aplicații
  • Scheduling și priorități (nice/rtprio) în user‑space
  • gdbserver + sfaturi de debugging remote în VS Code
  • perf și un scurt intro eBPF pentru troubleshooting

Structura zilei de curs

  • Part 1: 09:00–10:30
  • Break: 10:30–10:45
  • Part 2: 10:45–12:15
  • Lunch break: 12:15–13:15
  • Part 3: 13:15–15:15
  • Break: 15:15–15:30
  • Part 4: 15:30–17:30

Ai participat la acest curs?

Opinia ta este foarte importantă pentru noi. Spune-ne cum a fost experiența ta și ajută-ne să îmbunătățim acest curs pentru viitorii participanți.

Ofera feedback

Vrei să afli mai multe? Suntem aici să te ajutăm!

Sau scrie-ne direct la training@edocti.com.