News | Informazioni Generali | Syllabus | Materiale Didattico | Anni Precedenti
- I Appello Scritto del 27/1/2026
La prova d'esame scritta relativa al I appello dell'a.a. 2025-26 si svolgerà martedì 27/1/2026 presso l'Aula 17 dei laboratori situati in via Tiburtina, 205 (mappa). Tutti gli studenti interessati a partecipare alla prova dovranno obbligatoriamente registrarsi sull'apposito verbale Infostud (1027089). Le registrazioni resteranno aperte dal 5/12/2025 al 23/1/2026. Ulteriori informazioni verranno comunicate dopo la chiusura delle iscrizioni. Considerato l'elevato numero di partecipanti atteso, è molto probabile che la prova venga organizzata in più turni, ciascuno della durata di 45 minuti. - ANNUNCIO IMPORTANTE: La lezione di martedì 9 dicembre è annullata.
- QUESTIONARI OPIS: Coloro che non hanno compilato i questionari di valutazione OPIS sono caldamente invitati a farlo, utilizzando il seguente codice: AJ98307N. Vi ricordo che sono disponibili le linee guida per la compilazione.
- ANNUNCIO IMPORTANTE: La lezione di martedì 25 novembre è posticipata a mercoledì 26 novembre, mantenendo la stessa aula (Aula 4, Via De Lollis) e lo stesso orario (13:00-16:00). Contestualmente, la lezione di Basi di Dati I (Prof. Perelli) si terrà martedì 25 novembre al posto di quella di mercoledì 26 novembre.
- ANNUNCIO IMPORTANTE: La lezione di giovedì 6 novembre è annullata.
- ANNUNCIO IMPORTANTE: L'attività didattica è sospesa da giovedì 30 ottobre a mercoledì 5 novembre compresi.
Benvenuti sul sito web del corso di Sistemi Operativi - I Modulo!
Il corso si svolge al primo semestre del secondo anno della Laurea Triennale in Informatica della Sapienza Università di Roma.
Questo repository contiene il materiale didattico del corso sottoforma di slide PDF ed esercizi relativi all'anno accademico 2025-26, limitatamente al I canale.
- Martedì dalle 13:00 alle 16:00
- Giovedì dalle 13:00 alle 15:00
Entrambe le lezioni si svolgeranno nell'Aula 4 di Via De Lollis (RM158). L'accesso all'aula avviene dai laboratori di Via Tiburtina, 205 (mappa).
Gli studenti devono registrarsi alla pagina Moodle che si trova al seguente indirizzo web, utilizzando le stesse credenziali istituzionali (username/password) per l'accesso ai servizi Wi-Fi e Infostud: https://elearning.uniroma1.it/course/view.php?id=20049
Per garantire la massima flessibilità, è preferibile concordare con il docente un ricevimento su appuntamento (in presenza o a distanza). Si prega di inviare la propria richiesta via email all'indirizzo: [email protected], indicando come soggetto "SO-I 2025-26: Ricevimento".
I ricevimenti in presenza si terranno nell'ufficio del docente, presso la Stanza 106 al I piano dell'Edificio E situato in Viale Regina Elena, 295 (mappa).
- Email: [email protected]
- Sito web: https://www.di.uniroma1.it/~tolomei
- Bacheca Sapienza: https://corsidilaurea.uniroma1.it/it/users/gabrieletolomeiuniroma1it
- Ufficio: Stanza 106 I piano Edificio E c/o Viale Regina Elena, 295 (mappa)
I sistemi operativi sono parte essenziale di un sistema di calcolo e costituiscono l'esempio ideale di un concetto fondamentale e trasversale all'intero percorso di studio in Informatica, ossia quello dell'astrazione.
Più specificamente, grazie al processo di virtualizzazione delle risorse fisiche, i sistemi operativi consentono ai programmatori di sviluppare software applicativi evitando di doversi concentrare sui dettagli della macchina hardware, garantendo infine un miglior livello di usabilità da parte dell'utente finale. È pertanto necessario che uno studente di Informatica possieda le basi per comprendere le principali problematiche relative all'efficace progettazione (e utilizzo) di un software altamente complesso come quello di un sistema operativo moderno.
Allo scopo di fornire tali basi, durante il corso verranno discussi alcuni concetti fondamentali relativi ai sistemi operativi cosiddetti general purpose (tipicamente installati su PC/laptop) e alle loro funzionalità primarie (gestione dei processori, della memoria e dei dispositivi di ingresso/uscita). Verranno altresì forniti cenni sulle caratteristiche principali dei sistemi operativi installati sui dispositivi mobili (tablet/smartphone).
I concetti generali previsti per il corso, ampiamente coperti dal materiale bibliografico consigliato, verranno discussi a lezione in maniera relativamente indipendente da specifici sistemi operativi. Essi saranno comunque esemplificati facendo riferimento a sistemi operativi noti e di utilizzo comune, come ad esempio UNIX/Linux, Windows, Mac, Android, iOS, etc.
- Concetti fondamentali di architetture degli elaboratori
- Fondamenti di programmazione
Per il superamento dell’esame è prevista una prova scritta obbligatoria mediante quiz Moodle a risposta multipla della durata di 45 minuti che si svolgerà in laboratorio.
L'esito della prova scritta determina le seguenti condizioni:
| Punteggio scritto | Esito | Prova orale |
|---|---|---|
| [15, 17] | Ammesso all'orale | Obbligatoria |
| ≥ 18 | Sufficiente | Opzionale (lo studente può confermare il voto o sostenere un orale integrativo) |
| < 15 | Non superato | -- |
Nota bene:
(a) Con un punteggio compreso nell'intervallo [15, 17], l'orale è necessario per superare l'esame.
(b) Con un punteggio ≥18, l'orale è una scelta dello studente.
(c) Con un punteggio <15, l'esame non è superato e la prova scritta deve essere ripetuta in una sessione successiva.
Nei casi (a) e (b) è sempre possibile decidere di rifiutare il voto ottenuto alla prova scritta. Anche in questo caso, la prova scritta dovrà essere ripetuta in una sessione successiva.
Sebbene non obbligatori ai fini del superamento dell'esame, i seguenti libri di testo (preferibilmente in lingua inglese) costituiscono una fonte utile per assimilare più approfonditamente i concetti esposti durante le lezioni:
- Operating System Concepts [Silberschatz et al.];
- Modern Operating Systems [Tanenbaum et al.];
- Operating Systems: Three Easy Pieces [Remzi] (disponibile gratuitamente online).
I primi due libri sono comunque disponibili anche in versione italiana:
- Sistemi Operativi. Concetti ed Esempi [Silberschatz et al.];
- I Moderni Sistemi Operativi [Tanenbaum et al.]
Parte I: Introduzione
- Concetti di base
- Storia dei sistemi operativi
- Relazione tra macchina fisica (HW) e sistemi operativi
- Struttura dei sistemi operativi
Parte II: Gestione dei Processi
- Processi
- CPU Scheduling
- Threads
Parte III: Sincronizzazione tra Processi/Thread
- Strumenti per la Sincronizzazione
- Esempi di Sincronizzazione
- Deadlock
Parte IV: Gestione della Memoria
- Memoria Principale (RAM)
- Memoria Virtuale
Parte V: Gestione dei Sistemi di I/O
- Dispositivi di Memoria di Massa
- Sistemi di I/O
Parte VI: File System
Interfaccia del File SystemImplementazione del File SystemStruttura del File System
Parte VII: Advanced Topics(?)
ProtezioneSicurezzaSistemi distribuitiSistemi per dispositivi mobili
| Lezione # | Data | Argomento | Materiale |
|---|---|---|---|
| Lezione 1 | 23/09/2025 | Introduzione e Richiami di Concetti Base | [slides: PDF] |
| Lezione 2 | 25/09/2025 | Relazione tra Sistema Operativo e Macchina Fisica | [slides: PDF] |
| Lezione 3 | 30/09/2025 | Spazio di Indirizzamento Logico e PCB | [slides: PDF] |
| Lezione 4 | 02/10/2025 | Concetti Base della Gestione dei Processi | [slides: PDF] |
| Lezione 5 | 07/10/2025 | Ciclo di Vita dei Processi | [slides: PDF] [code] |
| Lezione 6 | 09/10/2025 | Introduzione allo Scheduling della CPU | [slides: PDF] |
| Lezione 7 | 14/10/2025 | Algoritmi di Scheduling della CPU (Parte I) | [slides: PDF] |
| Lezione 8 | 16/10/2025 | Algoritmi di Scheduling della CPU (Parte II) | [slides: PDF] |
| Lezione 9 | 21/10/2025 | Thread: Concetti e Implementazione | [slides: PDF] [code] |
| Lezione 10 | 23/10/2025 | Sincronizzazione tra Processi/Thread | [slides: PDF] |
| Lezione 11 | 28/10/2025 | Implementazione Meccanismi di Sincronizzazione | [slides: PDF] [code] |
| Lezione 12 | 11/11/2025 | Esercitazione | [Quesiti] [Soluzioni] |
| Lezione 13 | 13/11/2025 | Deadlock | [slides: PDF] |
| Lezione 14 | 18/11/2025 | Gestione della Memoria: Rilocazione e Allocazione Contigua | [slides: PDF] |
| Lezione 15 | 20/11/2025 | Gestione della Memoria: Paginazione | [slides: PDF] |
| Lezione 16 | 26/11/2025 | Gestione della Memoria: Paginazione Avanzata | [slides: PDF] [code] |
| Lezione 17 | 27/11/2025 | Memoria Virtuale (Parte I) | [slides: PDF] |
| Lezione 18 | 02/12/2025 | Memoria Virtuale (Parte II) | [slides: PDF] |
| Lezione 19 | 04/12/2025 | Dispositivi di Memoria di Massa | [slides: PDF] |
| Lezione 20 | 11/12/2025 | Scheduling del Disco | [slides: PDF] |
| Lezione 21 | 16/12/2025 | Esercitazione | [Quesiti] [Soluzioni] |
| Lezione 22 | 18/12/2025 | Ricevimento Generale |
In questa sezione è possibile accedere alle informazioni del corso relativamente agli anni accademici precedenti rispetto a quello corrente.
NOTA: La directory che include il materiale didattico è unica e il suo contenuto può subire modifiche o aggiornamenti di anno in anno; pertanto, è possibile che vi siano discrepanze tra ciò che è presente su questo sito e ciò che invece è stato mostrato in un determinato anno, diverso da quello corrente.