Programma di Sistemi Operativi Avanzati:

Approfondimenti sull'hardware

  • Pipelining e processori superscalari
  • Hardware speculativo
  • Multiprocessori e multicore
  • Organizzazione della memoria fisica
  • Coerenza e consistenza della memoria
  • Supporto per la sincronizzazione dell'hardware
  • Architetture di interrupt avanzate

Interni del kernel

  • Modelli di indirizzamento e protezione del software
  • GATE di accesso al kernel
  • Invio delle chiamate di sistema
  • Gestione della memoria
  • Gestione avanzata degli interrupt
  • Scalabilità di sistema.
  • Strutture di file system virtuali
  • Interazioni del software con la gerarchia della memoria
  • Linearizzabilità e approcci avanzati di coordinamento dei thread

Sicurezza

  • Attacchi interni al sistema e contromisure
  • Autenticazione e abilitazione
  • Attacchi al confine tra hardware e software (es. Meltdown, Spectre, L1TF) e contromisure
  • Domini di protezione e sistemi operativi sicuri
  • Architetture IDS e Monitor di riferimento

Casi di studio: kernel Linux - architetture x86

  • Nozioni di base sull'avvio
  • Strutture dati principali e inizializzazione
  • Meccanismi di chiamata di sistema
  • Comportamento allo stato stazionario Hacking del kernel Moduli