Linux Kernel Internals and Development (LFD420)
Impara a sviluppare per il kernel Linux. In questo corso guidato da un istruttore imparerai come è architettato Linux, i metodi di base per sviluppare sul kernel e come lavorare in modo efficiente con la comunità di sviluppatori Linux. Se sei interessato a conoscere il kernel Linux, questo è il corso definitivo sull’argomento.
COD: LFD420
Categorie: Linux Foundation/Kubernetes
Metodologia didattica
Il corso prevede laboratori didattici in cui ciascuno studente potrà lavorare ai fini di portare a termine esercizi formativi che forniranno esperienza pratica nell’utilizzo dello strumento, per ciascuno degli argomenti affrontati durante il corso.
Chi dovrebbe partecipare
Questo corso è pensato per fornire ai programmatori esperti una solida conoscenza del kernel Linux. Gli studenti devono avere una buona conoscenza del linguaggio di programmazione C, delle utility di base di Linux (UNIX) come ls, grep e tar ed essere a proprio agio con qualsiasi editor di testo disponibile (ad esempio emacs, vi, ecc.).
Prerequisiti
Conoscere bene il linguaggio di programmazione C, le utility di base di Linux (UNIX) come ls, grep e tar e avere dimestichezza con gli editor di testo disponibili (ad esempio emacs, vi, ecc.) L’esperienza con una delle principali distribuzioni Linux è utile ma non strettamente richiesta.
Programma didattico
- Introduzione
- Premesse
- Come lavorare nei progetti OSS
- Architettura del kernel I
- Anteprima della programmazione del kernel
- Moduli
- Architettura del kernel II
- Inizializzazione del kernel
- Configurazione e compilazione del kernel
- System Calls
- Stile del kernel e considerazioni generali
- Race Conditions e metodi di sincronizzazione
- SMP e thread
- Processi
- Limiti e capacità dei processi
- Monitoraggio e debug
- Pianificazione
- Memory Addressing
- Pagine enormi
- Allocazione della memoria
- Process Address Space
- Disk Caches e Swapping
- Driver dei dispositivi
- Segnali
In questo corso imparerai come è architettato Linux, come funzionano gli algoritmi del kernel, la gestione dell’hardware e della memoria, le tecniche di modularizzazione e il debug, come funziona la comunità degli sviluppatori del kernel e come lavorare in modo efficiente con essa e molto altro ancora.
Uscirai da questo corso con una comprensione dettagliata della teoria e della filosofia alla base del kernel Linux e con la capacità di sviluppare e debuggare il codice del kernel Linux.
Durata – 4 giorni
Erogazione – in Aula, On Site, Remoto
Requisiti PC e SW:
- Connessione Internet
- Web browser, Google Chrome
- Zoom
Lingua
Trainer: Italiano
Labs: Inglese
Slides: Inglese