Linux Kernel Debugging and Measurement (LNXKRN2)
Unixové systémy, Linux - programování
Linux nabízí širokou škálu špičkových nástrojů pro ladění a trasování jádra. Tyto nástroje umožňují hluboký vhled do chování kernelového kódu, aniž by narušovaly jeho běh. Kurz vás naučí efektivně využívat nástroje pro ladění a měření, jako je ftrace, eBPF, a další mechanismy, které poskytují podrobné informace o výkonu, funkcích a přerušení jádra. Naučíte se, jak instrumentovat kód jádra a používat statické i dynamické trasovací body pro získání cenných dat o jeho běhu.
Kurz je určen pro vývojáře embedded systémů a systémové programátory, kteří chtějí zlepšit své schopnosti při odstraňování problémů a optimalizaci výkonu Linuxového jádra.
TOTO ŠKOLENÍ VÁM POMŮŽE:
- Pochopit, jak instrumentovat kód jádra pro lepší pozorovatelnost
- Využívat dynamické ladicí nástroje, jako je ftrace a bpftrace
- Provádět pokročilé trasování funkcí, přerušení a plánovače
- Analyzovat problémy pomocí profilování a měření pomocí eBPF
- Zlepšit výkon a stabilitu systémů pomocí trasovacích a ladicích mechanismů
KDO BY SE MĚL KURZU ZÚČASTNIT?
- Vývojáři embedded systémů, kteří chtějí lépe porozumět chování jádra Linuxu
- Systémoví programátoři zaměření na ladění a optimalizaci kernelového kódu
- IT profesionálové hledající nástroje a techniky pro pokročilé trasování a ladění jádra
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
-
Observability of the kernel code
-
Difference from user-space observability
-
How to modify code for observability
-
What helps us avoid the modifications
-
Kernel logging subsystem
-
Writing to the message ring buffer
-
Configuring debug prints in Makefile
-
Using dynamic debugging feature
-
Using the ftrace subsystem
-
Interface in debugfs
-
Listing and tracing functions
-
Bonus: Using trace-cmd command
-
Kernel function dynamic tracing
-
Tracing function enter and exit
-
Measuring function call duration
-
Exploring the function graph
-
Static kernel tracepoints
-
Tracing well-known events
-
How trace points are added
-
Advantages of named trace points
-
The eBPF subsystem
-
Kernel bytecode interpreter
-
Perf event integration
-
Compiling eBPF tools
-
Creating custom tracers with bpftrace
-
Tracing language similar to SystemTap
-
Using per-cpu and per-task variables
-
Printing latency histograms
-
Profiling with bpftrace
-
Detecting missed deadlines
-
Investigating causes of problems
-
Measuring suspicious activities
-
Examples of debugging and tracing
-
Examples shipped with bpftrace and BCC
-
Measuring scheduler and preemption
-
Tracing interrupts and handlers
-
More uses of eBPF in debugging
-
BCC and data processing in Python
-
CO-RE and eBPF on embedded systems
-
Other languages for eBPF tracing
-
Other potentially useful tools
-
KASan, KCSAN, KMemleak, Lockdep
-
KGDB, Kdump, perf, SystemTap
-
SystemTap for kernel modifications
-
Předpokládané znalosti:
-
Znalost unixového prostředí a programování v jazyku C.
-
Časový rozvrh:
-
3 dny (9:00hod. - 17:00hod.)