Laurea Triennale in Informatica · Sapienza Università di Roma

Sistemi Operativi

Anno Accademico 2026/27 — I Canale (9 CFU)
Il corso introduce i sistemi operativi come componente essenziale di ogni sistema di calcolo e come esempio paradigmatico del concetto di astrazione. L'obiettivo primario è comprendere come il processo di virtualizzazione delle risorse fisiche permetta di gestire la complessità hardware, offrendo un ambiente semplificato per lo sviluppo del software applicativo.

INIZIO DEL CORSO: La prima lezione del corso si svolgerà mercoledì 23 settembre.

Orario delle Lezioni

Martedì

15:00 – 18:00

Mercoledì

16:00 – 18:00

Giovedì

13:00 – 15:00

Aula 4 — Via De Lollis (RM158) — accesso dai laboratori di Via Tiburtina 205.

Google Classroom

L'iscrizione al Google Classroom del corso è obbligatoria per rimanere aggiornati su tutto ciò che riguarda il corso.

Iscriviti al Classroom

Contatti Docente

Ufficio Stanza 106, I piano, Edificio E — Viale Regina Elena 295
Ricevimento Su appuntamento via email

Usare sempre il seguente pattern nell'oggetto delle email:

[SO 2026/27]: <OGGETTO>

Obiettivi Formativi

Astrazione Virtualizzazione

Il corso introduce i sistemi operativi come componente essenziale di ogni sistema di calcolo e come esempio paradigmatico del concetto di astrazione. L'obiettivo primario è comprendere come il processo di virtualizzazione delle risorse fisiche permetta di gestire la complessità hardware, offrendo un ambiente semplificato per lo sviluppo del software applicativo.

Prerequisiti

Richiesti

  • Programmazione imperativa (C/C++, Java, Python)
  • Algoritmi e strutture dati

Consigliati

  • Architettura dei calcolatori
  • Linguaggio C
  • forniti dal corso ove necessario

Contenuti del Corso — 5 Moduli

1. Fondamenti — architettura di base, interfaccia HW/SW (interrupt, syscall), basi del linguaggio C.
2. Virtualizzazione — astrazione della CPU (processi e scheduling) e della memoria (spazio di indirizzamento, paging).
3. Concorrenza — thread, sincronizzazione, lock e gestione dei deadlock.
4. Persistenza — dispositivi di I/O, hard disk/SSD, architettura del file system.
5. Argomenti Avanzati — sicurezza, virtualizzazione moderna (VM/container), sistemi distribuiti, SO mobile.

Testi di Riferimento

Testo principale

Operating Systems: Three Easy Pieces — Arpaci-Dusseau & Arpaci-Dusseau

Disponibile gratuitamente online.

The C Programming Language — Kernighan & Ritchie — riferimento per il linguaggio C.
Testi alternativi (anche in italiano): Operating Systems Concepts (Silberschatz et al.), Modern Operating Systems (Tanenbaum et al.) — materiale aggiuntivo fornito dal docente.

Modalità d'Esame

Scritto — obbligatorio

48 domande 30 minuti max 24 punti
Risposta Punteggio
Corretta +2
Non data 0
Errata −1

Il punteggio grezzo S ∈ [−48, 96] è convertito linearmente in voto V(S):

V(S) = INS                        se S < T
V(S) = 18 + 6 ⋅ (S−T) / (96−T)    se S ≥ T

dove T è la soglia minima (es. T = 42). Voto minimo per l'accesso all'orale: V(S) = 18.

Orale — facoltativo

accesso con voto scritto ≥ 18 variazione ±8 punti
Prestazione Effetto
Eccellente fino a +8  (lode)
Sufficiente conferma voto scritto
Insufficiente fino a −8

Parte I — FONDAMENTALI

Lezione 1.1 23/09/2026

Fondamenti I. Architettura del calcolatore: CPU, memoria, I/O.

Lezione 1.2 24/09/2026

Fondamenti II. Introduzione ai SO: storia, astrazione, obiettivi; supporto hardware: interrupt, syscall, DMA, modalità utente/kernel.

Parte II — VIRTUALIZZAZIONE

Parte III — CONCORRENZA

Parte IV — PERSISTENZA

Parte V — ARGOMENTI AVANZATI

Materiale e comunicazioni relativi alle precedenti edizioni del corso.