Sistemi operativi i

A.A. 2023/2024
6
Crediti massimi
60
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
L'insegnamento si propone di introdurre principali concetti su cui è basata la realizzazione di un sistema operativo, le sue funzionalità principali nonchè acquisire padronanza nell'uso delle principali API del sistema operativo Linux. Al fine di fornire agli studenti una migliore comprensione dei diversi temi affrontati verrà affrontato lo studio delle componenti principali di un sistema operativo didattico.
Risultati apprendimento attesi
Al termine dell'insegnamento lo studente sarà in grado di: individuare le principali caratteristiche di un sistema operativo, valutarne le criticità ed i punti di forza, scrivere programmi che usano le principali API di sistema operativo, leggere e commentare codice di un sistema operativo reale.
Corso singolo

Questo insegnamento può essere seguito come corso singolo.

Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Primo semestre

Programma
Virtualization
● Processes
● Scheduling
● Segmentation
● Paging
● Paging (TLBs)
● Paging: Smaller tables
● Beyond Physical Memory
● Beyond Physical Memory

Concurrency
● Concurrency Introduction
● Locks
● Condition Variables
● Semaphores
● Concurrency Problem

Persistence
● I/O + Disks
● Disks
● RAID
● FileSystem
● Filesystem Implementation
● Journaling

Advanced
● Virtual Machine Principles
● Side-channel attack Meltdown/Spectre
Prerequisiti
I prerequisiti per il corso includono:

- Conoscenza della sintassi base del linguaggio di programmazione C.
- Familiarità con l'architettura di un sistema di elaborazione, con particolare riferimento alla struttura di un
processore, all'organizzazione della memoria e ai tipi di dato.
- Comprensione dei fondamenti di un linguaggio assembly.
Metodi didattici
Le lezioni teoriche si terranno in aula, mentre le lezioni di laboratorio si svolgeranno in laboratorio.
Materiale di riferimento
Libro di testo Operating Systems: Three Easy Pieces.

Si puo` scaricare la versione gratuita pdf al seguente URL:

http://pages.cs.wisc.edu/~remzi/OSTEP/
Modalità di verifica dell’apprendimento e criteri di valutazione
Il metodo di valutazione per il corso è strutturato come segue:

- La parte teorica prevede una prova scritta con esercizi numerici basati sulle lezioni svolte in classe.
- La parte pratica consiste in esercizi pratici basati sulle esercitazioni svolte durante le lezioni di laboratorio.
- Non sono previste prove intermedie durante l'anno.
- Saranno disponibili 6 sessioni di esame per la parte teorica e 6 sessioni di esame per la parte pratica, le date
delle quali saranno comunicate tramite il sito Ariel nella sezione "Informazioni del corso".
- Il voto dell'esame di teoria e di laboratorio sarà valido da gennaio a settembre dell'anno scolastico in corso.
Dopo tale periodo, entrambe le prove dovranno essere ripetute.
- Il voto finale sarà calcolato considerando il ⅔ del voto ottenuto nella parte teorica e il ⅓ del voto ottenuto nella
parte pratica.
INF/01 - INFORMATICA - CFU: 6
Laboratori: 24 ore
Lezioni: 36 ore
Docente/i
Ricevimento:
su appuntamento e-mail: [email protected]
Stanza 8011 via Celoria 18
Ricevimento:
Concordare via email e/o su piattaforma Microsoft Teams. Per specifici corsi fare riferimento al sito Ariel del corso.
Milano - via Celoria 18 (stanza 3010) e/o Ms Teams/Zoom