Obiettivi del corso
Vuoi andare oltre lo user-space e capire come il sistema operativo gestisce processi, memoria, interrupt e dispositivi? LFD420 è il corso che ti porta dal design alle mani nel codice, con una didattica step-by-step e laboratori verificati su VM/QEMU. Alla fine sarai in grado di leggere, modificare e contribuire a componenti del kernel e sviluppare driver carattere pronti per ambienti reali.
Cosa ti porti a casa
-
Padronanza dei concetti chiave del Kernel Linux e del suo modello di esecuzione.
-
Capacità di compilare e patchare il kernel in modo sicuro.
-
Sviluppo di moduli e driver (carattere), gestione interrupt, bottom halves, workqueues.
-
Tecniche di debug & tracing moderne (ftrace, perf, eBPF/bpftrace).
-
Best practice per concorrenza e sincronizzazione (atomic, spinlock, mutex, semafori).
-
Metodo di lavoro ripetibile per portare il codice in produzione o upstream.
A chi è rivolto
-
Sviluppatori C/C++ che vogliono scendere a livello kernel.
-
System/DevOps/Embedded engineers che gestiscono piattaforme Linux e driver.
-
Studenti e professionisti che puntano a ruoli low-level, real-time, sicurezza o embedded.
Prerequisiti consigliati
-
Buona conoscenza di C e Linux user-space (shell, gcc, make).
-
Familiarità con git e strumenti di build.
-
Nozioni base di architettura dei sistemi (processi, memoria, I/O).
🎓 Cosa imparerai
Un percorso che ti accompagna passo passo, dalle basi del kernel alle tecniche avanzate:
-
Orientarti nell’albero sorgente del kernel e nel suo processo di build.
-
Compilare e configurare un kernel personalizzato, gestendo patch e moduli out-of-tree.
-
Implementare e caricare moduli kernel, interfacciandoti con sysfs/procfs.
-
Progettare driver carattere con API moderne (open/read/write/ioctl, poll, mmap).
-
Gestire interrupt, tasklet/softirq e workqueues in modo sicuro.
-
Applicare correttamente spinlock/mutex/semafori e primitive atomiche.
-
Comprendere scheduler e context switch; usare affinità CPU e politiche RT.
-
Analizzare gestione memoria: slab/slub, allocatori, page cache, vmalloc/kmalloc.
-
Effettuare debug/tracing con ftrace, perf, e bpftrace/eBPF.
-
Scrivere test e riprodurre bug con un ambiente di laboratorio replicabile.
📌 Ogni modulo unisce teoria ed esercitazioni pratiche su un ambiente di laboratorio guidato.
Laboratori pratici inclusi
Non solo teoria: ogni partecipante avrà accesso a un ambiente Linux reale, pronto all’uso e sicuro.
- Nessuna carta di credito richiesta
- Accesso garantito per la durata del corso
- Possibilità di estendere la durata dei laboratori
Ogni modulo include un lab pratico in VM/QEMU (Ubuntu LTS) pensato per riprodurre in autonomia:
-
Compilazione kernel custom e gestione moduli out-of-tree.
-
Driver carattere con test user-space.
-
Simulazione IRQ + tasklet/workqueue e misurazioni di latenza.
-
Esercizi di locking con race condition dimostrata e fix.
-
Tracing con ftrace/perf e bpftrace per osservare syscall e path critici.
Per chi è pensato
-
Studenti universitari che vogliono competenze cloud spendibili subito
-
Professionisti IT che vogliono aggiornarsi e migliorare il CV
-
Sviluppatori e sysadmin junior che puntano ad apprendere meglio il Kernel Linux
Cosa ottieni con l’iscrizione
- ✅ 32 ore di formazione live con docente certificato
- ✅ Ambiente di laboratorio Linux
- ✅ Accesso illimitato alle registrazioni delle lezioni
- ✅ Tutto il materiale didattico (Libri, documentazione, slide)
- ✅ Attestato finale di partecipazione
Prezzo e modalità
-
Prezzo: 660 € (tutto incluso)
-
Modalità: Live online (Zoom/Teams)
-
Durata: 4 giorni per un totale di 32 ore
-
Iscriviti subito – i posti si esauriscono velocemente!
Domande frequenti
-
Serve esperienza? NRichiede basi di C e Linux. Non serve esperienza pregressa nel kernel, ma la voglia di scrivere codice low-level sì.
-
E se perdo una lezione? Puoi rivedere tutte le registrazioni per 6 mesi.
-
È utile per la certificazione LPI? Sì, ti prepara all'esame di certificazione.
-
Posso rifare i laboratori? Sì, avrai più lanci disponibili e potrai esercitarti finché vuoi.