KO
|
EN
gitlite — search
Search
#javascript
#python
#php
#java
#ruby
#css
#hacktoberfest
#r
#angularjs
#go
#opengl
#python3
operating-systems
★ 63
Open GitHub ↗
No description available.
Download README (.md)
Explore Similar Repositories
superset-api-client
:
A Python Client for Apache Superset REST API
pynytimes
:
Use all the New York Times APIs in Python!
spikeprime-vscode
:
Extension to interact with LEGO SPIKE PRIME in VS Code
vyos-build-action
:
VyOS ISO Automation Build
Jekyll-Podcaster
:
🎙 Podcaster is a dynamic Jekyll theme built for podcasters!
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
operating-systems
?
Download (.md)
# Sistemi Operativi I - 2025-26 (I Canale) [News](#News) | [Informazioni Generali](#Informazioni-Generali) | [Syllabus](#Syllabus) | [Materiale Didattico](#Materiale-Didattico) | [Anni Precedenti](#Anni-Precedenti) ## News - **V Appello Scritto dell'8/9/2026**<br/> La prova d'esame scritta relativa al V appello dell'a.a. 2025-26 si svolgerà **martedì 8/9/2026** presso l'**Aula 15** dei laboratori situati in via Tiburtina, 205 ([mappa](https://goo.gl/maps/TgnJCWDfx2VQRo4u5)). Tutti gli studenti interessati a partecipare alla prova dovranno **obbligatoriamente** registrarsi sull'apposito verbale Infostud (**1027098**). **Le registrazioni resteranno aperte dal 15/7/2026 al 4/9/2026**. L'orario preciso della prova verrà comunicato nei giorni precedenti all'esame.<br/> [_Qualora, alla chiusura delle registrazioni, il numero di iscritti risultasse maggiore della capienza dell'aula, la prova si svolgerà su due turni consecutivi. Informazioni più accurate e definitive sulle modalità di partecipazione verranno pertanto rese note nei giorni immediatamente precedenti alla data d'esame._] - **IV Appello Orale del 24/7/2026**<br/> La prova orale del IV appello si svolgerà **venerdì 24/7/2026** alle ore **9:00** presso la **stanza 106** posta al **I piano dell'Edificio E** in Viale Regina Elena 295. - **Esiti IV Appello Scritto del 23/7/2026**<br/> Gli esiti dell'appello scritto del 23/7/2026 sono disponibili al seguente [link](./exams/2025-26/2026-07-23_esiti.pdf). - **IV Appello Scritto del ~7/7/2026~ 23/7/2026**<br/> La prova d'esame scritta relativa al IV appello dell'a.a. 2025-26 si svolgerà **~martedì 7/7/2026~** **giovedì 23/7/2026** alle ore **~14:30~** **15:15** presso l'**Aula 15** dei laboratori situati in via Tiburtina, 205 ([mappa](https://goo.gl/maps/TgnJCWDfx2VQRo4u5)). Tutti gli studenti interessati a partecipare alla prova dovranno **obbligatoriamente** registrarsi sull'apposito verbale Infostud (**1027097**). **Le registrazioni resteranno aperte dal 17/6/2026 al ~3/7/2026~ 20/7/2026**.<br/> Coloro che si iscriveranno esclusivamente per verbalizzare il voto finale (sia perché hanno superato entrambi i moduli, sia perché hanno superato il primo modulo e tenteranno di superare il secondo durante l'appello di luglio) sono pregati di inviarmi un messaggio all'indirizzo tolomei@di.uniroma1.it in cui indicano il motivo per cui si sono iscritti.<br> [_**NOTA:** L'orario della prova è ancora **indicativo** e potrà subire leggere variazioni. Inoltre, qualora alla chiusura delle registrazioni, il numero di iscritti risultasse maggiore della capienza dell'aula, la prova si svolgerà su due turni consecutivi. Informazioni più accurate e definitive sulle modalità di partecipazione verranno pertanto rese note nei giorni immediatamente precedenti alla data d'esame._] - **III Appello Orale del 9/6/2026**<br/> La prova orale del III appello si svolgerà lo stesso giorno della prova scritta, successivamente alla pubblicazione degli esiti, presso l'**Aula 15** dei laboratori situati in via Tiburtina, 205. - **Esiti III Appello Scritto del 9/6/2026**<br/> Gli esiti dell'appello scritto del 9/6/2026 sono disponibili al seguente [link](./exams/2025-26/2026-06-09_esiti.pdf). - **III Appello Scritto del 9/6/2026**<br/> La prova d'esame scritta relativa al III appello dell'a.a. 2025-26 si svolgerà **martedì 9/6/2026** alle ore **14:15** presso l'**Aula 15** dei laboratori situati in via Tiburtina, 205 ([mappa](https://goo.gl/maps/TgnJCWDfx2VQRo4u5)). Tutti gli studenti interessati a partecipare alla prova dovranno **obbligatoriamente** registrarsi sull'apposito verbale Infostud (**1027096**). **Le registrazioni resteranno aperte dall'1/5/2026 al 5/6/2026**.<br/> [_**NOTA:** L'orario della prova è ancora **indicativo** e potrà subire leggere variazioni. Inoltre, qualora alla chiusura delle registrazioni, il numero di iscritti risultasse maggiore della capienza dell'aula, la prova si svolgerà su due turni consecutivi. Informazioni più accurate e definitive sulle modalità di partecipazione verranno pertanto rese note nei giorni immediatamente precedenti alla data d'esame._] - **Esiti Appello Scritto Straordinario del 25/3/2026**<br/> Gli esiti dell'appello scritto straordinario del 25/3/2026 sono disponibili al seguente [link](./exams/2025-26/2026-03-25_esiti.pdf). - **Appello Scritto Straordinario del 25/3/2026**<br/> La prova d'esame scritta relativa all'appello straordinario dell'a.a. 2025-26 si svolgerà **mercoledì 25/3/2026** alle ore **10:00** ~~**9:00** (orario da confermare)~~ presso l'**Aula 17** dei laboratori situati in via Tiburtina, 205 ([mappa](https://goo.gl/maps/TgnJCWDfx2VQRo4u5)). Vi ricordo che potranno iscriversi a questa prova **esclusivamente gli studenti aventi diritto che faranno opportuna richiesta entro i termini stabiliti dalla segreteria didattica**. Per motivi organizzativi, **non saranno fatte eccezioni**. Tutti gli studenti che hanno diritto a svolgere la prova straordinaria e hanno fatto correttamente richiesta presso la segreteria didattica dovranno **obbligatoriamente** registrarsi sull'apposito verbale Infostud (**1040280**). **Le registrazioni resteranno aperte dal 9/3/2026 al 22/3/2026**. - **II Appello Orale del 18/2/2026**<br/> La prova orale del II appello si svolgerà secondo le modalità indicate nel messaggio inviato sul forum Moodle. - **Esiti II Appello Scritto del 17/2/2026**<br/> Gli esiti dell'appello scritto del 17/2/2026 sono disponibili al seguente [link](./exams/2025-26/2026-02-17_esiti.pdf). - **ANNUNCIO IMPORTANTE:** A causa dell'incidente informatico che sta provocando un prolungato disservizio dei sistemi Sapienza (incluso Infostud), al momento non è possibile effettuare la registrazione al **II appello del 17/02/2026**. Considerato che mancano ancora circa 10 giorni alla chiusura delle iscrizioni, si è deciso di attendere qualche giorno nella speranza che i problemi tecnici vengano risolti al più presto. Nel caso in cui il disservizio dovesse persistere oltre la fine di questa settimana, vi fornirò tempestivamente indicazioni su una procedura alternativa per l'iscrizione.<br/> **AGGIORNAMENTO:** Visto il protrarsi del disservizio che impedisce l'accesso a Infostud, coloro che intendono partecipare al **II appello scritto del 17/2/2026** devono **obbligatoriamente** registrarsi sull'apposito Google Form dedicato, disponibile al seguente [link](https://forms.gle/qChoi3vGJJdiktQc8). L'accesso al form è garantito esclusivamente tramite le vostre credenziali istituzionali e resterà disponibile fino al **15/2/2026 alle ore 23:59**. - **II Appello Scritto del 17/2/2026**<br/> La prova d'esame scritta relativa al II appello dell'a.a. 2025-26 si svolgerà **martedì 17/2/2026** presso l'**Aula 15** dei laboratori situati in via Tiburtina, 205 ([mappa](https://goo.gl/maps/TgnJCWDfx2VQRo4u5)). Tutti gli studenti interessati a partecipare alla prova dovranno **obbligatoriamente** registrarsi sull'apposito verbale Infostud (**1027090**). **Le registrazioni resteranno aperte dal 31/1/2026 al 13/2/2026**.<br/> La prova si svolgerà in **due turni distinti, ciascuno della durata di 45 minuti**. Pertanto, sarete suddivisi in due gruppi: **GRUPPO 1** e **GRUPPO 2**. Il **GRUPPO 1** svolgerà l'esame durante il primo turno, con inizio fissato alle **ore 14:00**. Il **GRUPPO 2** sosterrà la prova durante il secondo turno, che avrà inizio alle **ore 15:00**. Per ulteriori dettagli, si rimanda al messaggio inviato sul forum della pagina Moodle del corso.<br/> - **I Appello Orale del 28/1/2026 e 29/1/2026**<br/> La prova orale del I appello si svolgerà secondo le modalità indicate nel messaggio inviato sul forum Moodle. - **Esiti I Appello Scritto del 27/1/2026**<br/> Gli esiti dell'appello scritto del 27/1/2026 sono disponibili al seguente [link](./exams/2025-26/2026-01-27_esiti.pdf). - **I Appello Scritto del 27/1/2026**<br/> 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](https://goo.gl/maps/TgnJCWDfx2VQRo4u5)). 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**.<br/> La prova si svolgerà in **due turni distinti, ciascuno della durata di 45 minuti**. Pertanto, sarete suddivisi in due gruppi: **GRUPPO 1** e **GRUPPO 2**. Il **GRUPPO 1** svolgerà l'esame durante il primo turno, con inizio fissato alle **ore 14:00**. Il **GRUPPO 2** sosterrà la prova durante il secondo turno, che avrà inizio alle **ore 15:00**. Per ulteriori dettagli, si rimanda al messaggio inviato sul forum della pagina Moodle del corso.<br/> - **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](https://www.uniroma1.it/sites/default/files/field_file_allegati/vademecum_per_studenti_opis_2025_26.pdf) 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**. ## Informazioni Generali 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](https://corsidilaurea.uniroma1.it/it/course/33503). Questo repository contiene il materiale didattico del corso sottoforma di slide PDF ed esercizi relativi all'anno accademico 2025-26, limitatamente al I canale. ### Orario delle Lezioni - **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](https://goo.gl/maps/TgnJCWDfx2VQRo4u5)). ### Pagina Moodle del Corso 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 ### Orario di Ricevimento 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: tolomei@di.uniroma1.it, indicando come soggetto "_SO-I 2025-26: Ricevimento_".<br/> 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](https://goo.gl/maps/5dSuQbvaeqXePV9y6)). ### Contatti Docente - Email: tolomei@di.uniroma1.it - 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](https://goo.gl/maps/5dSuQbvaeqXePV9y6)) ### Obiettivi del Corso 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. ### Prerequisiti - Concetti fondamentali di architetture degli elaboratori - Fondamenti di programmazione ### Modalità di Esame 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. ### Testi Consigliati 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] (<a href="http://pages.cs.wisc.edu/~remzi/OSTEP/" target="_blank">disponibile gratuitamente online</a>). 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._] <hr> ## Syllabus **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 System~ - ~Implementazione del File System~ - ~Struttura del File System~ ~**Parte VII: Advanced Topics(?)**~ - ~Protezione~ - ~Sicurezza~ - ~Sistemi distribuiti~ - ~Sistemi per dispositivi mobili~ <hr> ## Materiale Didattico | Lezione \# | Data | Argomento | Materiale | |------------|------|-----------------------------------------------|----------------| | Lezione 1 | 23/09/2025 | Introduzione e Richiami di Concetti Base | [slides: <a href="./lectures/slides/Introduction.pdf" target="_blank">PDF</a>] | | Lezione 2 | 25/09/2025 | Relazione tra Sistema Operativo e Macchina Fisica | [slides: <a href="./lectures/slides/Computer_Architecture_and_OS_Structures.pdf" target="_blank">PDF</a>]| | Lezione 3 | 30/09/2025 | Spazio di Indirizzamento Logico e PCB | [slides: <a href="./lectures/slides/Process_Virtual_Address_Space_and_PCB.pdf" target="_blank">PDF</a>] | | Lezione 4 | 02/10/2025 | Concetti Base della Gestione dei Processi | [slides: <a href="./lectures/slides/Basics_of_OS_Process_Management.pdf" target="_blank">PDF</a>] | | Lezione 5 | 07/10/2025 | Ciclo di Vita dei Processi | [slides: <a href="./lectures/slides/Basics_of_OS_Process_Management.pdf" target="_blank">PDF</a>] [<a href="./code/processes.tgz" download="processes.tgz">code</a>]| | Lezione 6 | 09/10/2025 | Introduzione allo Scheduling della CPU | [slides: <a href="./lectures/slides/CPU_Scheduling_Introduction.pdf" target="_blank">PDF</a>] | | Lezione 7 | 14/10/2025 | Algoritmi di Scheduling della CPU (Parte I) | [slides: <a href="./lectures/slides/CPU_Scheduling_Algorithms_I.pdf" target="_blank">PDF</a>] | | Lezione 8 | 16/10/2025 | Algoritmi di Scheduling della CPU (Parte II) | [slides: <a href="./lectures/slides/CPU_Scheduling_Algorithms_II.pdf" target="_blank">PDF</a>] | | Lezione 9 | 21/10/2025 | Thread: Concetti e Implementazione | [slides: <a href="./lectures/slides/Threads.pdf" target="_blank">PDF</a>] [<a href="./code/threads.tgz" download="threads.tgz">code</a>]| | Lezione 10 | 23/10/2025 | Sincronizzazione tra Processi/Thread | [slides: <a href="./lectures/slides/Synchronization.pdf" target="_blank">PDF</a>]| | Lezione 11 | 28/10/2025 | Implementazione Meccanismi di Sincronizzazione | [slides: <a href="./lectures/slides/Synchronization_Implementation.pdf" target="_blank">PDF</a>] [<a href="./code/synchronization.tgz" download="synchronization.tgz">code</a>]| | Lezione 12 | 11/11/2025 | Esercitazione | [<a href="./exercises/2025-11-11_Esercizi.pdf" target="_blank">Quesiti</a>] [<a href="./exercises/2025-11-11_Esercizi_Soluzioni.pdf" target="_blank">Soluzioni</a>]| | Lezione 13 | 13/11/2025 | Deadlock | [slides: <a href="./lectures/slides/Deadlock.pdf" target="_blank">PDF</a>] | | Lezione 14 | 18/11/2025 | Gestione della Memoria: Rilocazione e Allocazione Contigua | [slides: <a href="./lectures/slides/Memory_Management_Relocation_Contiguous_Allocation.pdf" target="_blank">PDF</a>] | | Lezione 15 | 20/11/2025 | Gestione della Memoria: Paginazione | [slides: <a href="./lectures/slides/Paging.pdf" target="_blank">PDF</a>] | | Lezione 16 | 26/11/2025 | Gestione della Memoria: Paginazione Avanzata | [slides: <a href="./lectures/slides/Advanced_Paging.pdf" target="_blank">PDF</a>] [<a href="./code/memory-allocation.tgz" download="memory-allocation.tgz">code</a>]| | Lezione 17 | 27/11/2025 | Memoria Virtuale (Parte I) | [slides: <a href="./lectures/slides/Virtual_Memory_(Part_I).pdf" target="_blank">PDF</a>] | | Lezione 18 | 02/12/2025 | Memoria Virtuale (Parte II) | [slides: <a href="./lectures/slides/Virtual_Memory_(Part_II).pdf" target="_blank">PDF</a>] | | Lezione 19 | 04/12/2025 | Dispositivi di Memoria di Massa | [slides: <a href="./lectures/slides/Mass_Storage.pdf" target="_blank">PDF</a>] | | Lezione 20 | 11/12/2025 | Scheduling del Disco | [slides: <a href="./lectures/slides/Mass_Storage_Disk_Scheduling.pdf" target="_blank">PDF</a>] | | Lezione 21 | 16/12/2025 | Esercitazione | [<a href="./exercises/2025-12-16_Esercizi.pdf" target="_blank">Quesiti</a>] [<a href="./exercises/2025-12-16_Esercizi_Soluzioni.pdf" target="_blank">Soluzioni</a>]| | Lezione 22 | 18/12/2025 | Ricevimento Generale | | <!--[]|ercitazione.pdf" target="_blank">PDF</a>]|--> ## Anni Precedenti 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._ - [2024-25](./oldest/2024-25.md) - [2023-24](./oldest/2023-24.md) - [2022-23](./oldest/2022-23.md) - [2020-21](./oldest/2020-21.md) - [2019-20](./oldest/2019-20.md)