Programma di Sistemi Operativi Avanzati:

Approfondimenti sull'hardware (20 ore) - Processori pipelining e superscalari - Hardware speculativo - Multiprocessori e multi-core - Organizzazione della memoria fisica - Coerenza e consistenza della memoria - Supporti per la sincronizzazione hardware - Architetture di interrupt avanzate Kernel Internals (20 ore) - Indirizzamento e modelli di protezione del software - GATE di accesso al kernel - Dispatching delle chiamate di sistema - Gestione della memoria a livello di sistema - Gestione avanzata degli interrupt - Scalabilita' del kernel - Strutturazione del file system virtuale - Interazioni del software con la gerarchia di memoria - Approcci avanzati di coordinamento dei thread Sicurezza (20 ore) - Aspetti di sicurezza del sistema - Autenticazione e abilitazione - Domini di protezione e sistemi operativi sicuri - Attacchi interni al sistema e contromisure - Architetture IDS e Reference Monitor - Attacchi al confine tra hardware e software Casi di studio: kernel Linux 2.4 / 2.6 / 3.xx / 4.xx (architetture x86) (30 ore) - Nozioni di base - Principali strutture dati ed inizializzazione - Comportamento a regime - Kernel hacking - Moduli

Approfondimenti sull'hardware Processori pipelining e superscalari Hardware speculativo Multiprocessori e multi-core Organizzazione della memoria fisica Coerenza e consistenza della memoria Supporti per la sincronizzazione hardware Architetture di interrupt avanzate Kernel Internals Indirizzamento e modelli di protezione del software GATE di accesso al kernel Dispatching delle chiamate di sistema Gestione della memoria a livello di sistema Gestione avanzata degli interrupt Scalabilita' del kernel Strutturazione del file system virtuale Interazioni del software con la gerarchia di memoria Approcci avanzati di coordinamento dei thread Sicurezza Aspetti di sicurezza del sistema Autenticazione e abilitazione Domini di protezione e sistemi operativi sicuri Attacchi interni al sistema e contromisure Architetture IDS e Reference Monitor Attacchi al confine tra hardware e software Casi di studio: kernel Linux 2.4 / 2.6 / 3.xx / 4.xx (architetture x86) Nozioni di base Principali strutture dati ed inizializzazione Comportamento a regime Kernel hacking Moduli