Dettaglio insegnamento

SISTEMI OPERATIVI

MF0368

Insegnamento
SISTEMI OPERATIVI
Codice
MF0368
Anno Accademico
2023/2024
Anno regolamento
2022/2023
Corso di studio
INFORMATICA
Curriculum
000 - CORSO GENERICO
Responsabile didattico
CFU
12
Ore di lezione
96
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
Tipo di insegnamento
Attività formativa integrata
Fruizione insegnamento
OBB - Obbligatoria
Anno
2
Periodo
Primo Semestre, Secondo Semestre
Sede
VERCELLI
Lingua insegnamento
Italiano
Contenuti
Il corso si compone di due moduli: SISTEMI OPERATIVI 1 e SISTEMI OPERATIVI 2.
Il programma del modulo SISTEMI OPERATIVI 1 si articola sulle seguenti tematiche: introduzione ai sistemi operativi, gestione e sincronizzazione dei processi e programmazione concorrente, gestione della memoria.
Il programma del modulo SISTEMI OPERATIVI 2 si articola sulle seguenti tematiche: gestione dell'I/O, progettazione e realizzazione dei file system, tecniche di virtualizzazione.
Testi di riferimento
Andrew S. Tanenbaum & Herbert Bos, "Modern Operating Systems: Global Edition, 5/E", Pearson, 2023. ISBN-13: 9781292459660.
Disponibile anche in italiano: Andrew S. Tanenbaum & Herbert Bos, "I moderni sistemi operativi, 5/Ed," Pearson, 2023. ISBN: 9788891931955.
Obiettivi formativi
Il corso ha l’obiettivo di illustrare I principi, le diverse problematiche e le attuali soluzioni tecniche e metodologiche per la progettazione e realizzazione dei componenti dei sistemi operativi moderni che si occupano (1) della gestione e sincronizzazione dei processi e dei thread, (2) della gestione della memoria, (3) della gestione dei dispositivi di I/O, (4) della gestione della memoria di massa, e (5) della virtualizzazione delle risorse hardware.
Prerequisiti
Programmazione 1 e 2, Architetture degli Elaboratori.
Metodi didattici
Modulo SISTEMI OPERATIVI 1: lezioni frontali ed esercitazioni in laboratorio.
Modulo SISTEMI OPERATIVI 2: solo lezioni frontali.
Altre informazioni
Monitoraggio del processo di apprendimento: gli studenti svolgeranno delle esercitazioni in laboratorio sotto la supervisione del docente.
Modalità di verifica dell'apprendimento
Ciascuno dei due moduli ha un suo esame (che può essere scritto o orale) e, per superare l’esame complessivo. è necessario conseguire un esito sufficiente in ciascun modulo. Il voto finale è stabilito in modo collegiale dai docenti dei due moduli, tenendo conto dell’esito ottenuto in ciascun modulo.
Modulo SISTEMI OPERATIVI 1: esame scritto o orale con alcune (da 4 a 6) domande sui diversi argomenti trattati nel corso e alcuni (da 1 a 3) esercizi di programmazione riguardanti le esercitazioni pratiche svolte in laboratorio. Il voto finale terrà conto della valutazione ottenuta sulle singole domande e esercizi.
Modulo SISTEMI OPERATIVI 2: esame scritto obbligatorio e orale facoltativo (solo se il voto dello scritto è maggiore o uguale a 27/30). La prova d'esame prevede uno o più quesiti posti sotto forma di domande teoriche o esercizi,; a ciascun quesitor è associato uno specifico punteggio; il voto finale sarà ottenuto come la somma dei punteggi ottenuti in ogni quesito. Gli argomenti della prova d’esame (sia scritta che orale) comprendono quelli presentati durante le lezioni frontali e dettagliati nel programma del corso.
Programma esteso
Modulo SISTEMI OPERATIVI 1: il programma di questo module si compone dei seguenti argomenti:
1) Nozioni fondamentali sull'architettura del sistema operativo di un elaboratore multiutente.
2) Nucleo del sistema operativo.
3) Gestione e sincronizzazzione di processi e thread, e programmazione concorrente.
4) Deadlock.
5) Gestione della memoria.
6) Chiamate di sistema per la gestione e sincronizzazione di processi e thread nei sistemi Unix.
Modulo SISTEMI OPERATIVI 2: il programma di questo modulo corso si articola in tre macro-argomenti:
1) Gestione dell'I/O: architettura del sottosistema di I/O; interfaccia di I/O per le applicazioni; sottosistema di I/O del kernel; struttura dei dispositivi di memorizzazione; struttura dei dischi; scheduling del disco; gestione dell'unità a disco; sistemi RAID;
gestione del risparmio energetico.
2) Progettazione e realizzazione di file system: il concetto di file e di file system; struttura della directory e del disco; condivisione di file; meccanismi di protezione dei file; struttura del file system; implementazione di file e directory; metodi di allocazione; gestione dello spazio libero; metodi di allocazione; efficienza e prestazioni; consistenza; backup e ripristino.
3) Progettazione e realizzazione di tecniche di virtualizzazione: il concetto di macchina virtuale e di hypervisor; virtualizzare la CPU; problematiche e soluzioni per la virtualizzazione dell'architettura x86; virtualizzare la memoria; virtualizzare l'I/O; il Cloud.
Risultati di apprendimento attesi
Conoscenza e capacità di comprensione: apprendere il ruolo e i principi chiave che sono alla base del comportamento, della progettazione, e dello sviluppo dei componenti dei sistemi operativi moderni che si occupano (1) della gestione dei processi e dei thread (ad es., scheduling della CPU), (2) della gestione della memoria (ad es., memoria virtuale), (3) della gestione dei dispositivi di I/O (ad es., il sotto-sistema di I/O), (4) della gestione della memoria di massa (ad es., i file system), e (5) della virtualizzazione delle risorse hardware (ad es., gli hypervisor).
Capacità di applicare conoscenza e comprensione: applicare i principi generali in un sistema reale.
Autonomia di giudizio: valutare autonomamente, in termini di efficienza di gestione e di prestazioni, le migliori tecniche per la gestione dei processi, della memoria, dei dispositivi di I/O e della memoria secondaria, e quelle per la virtualizzazione.
Abilità comunicative: comunicare e spiegare i principi fondamentali dei sistemi operativi legati alla gestione
dei processi, della memoria, dei dispositivi di I/O e della memoria di massa, e alla tecniche per la virtualizzazione delle risorse hardware.
Capacità di apprendere: acquisire in modo autonomo quelle conoscenze metodologiche necessarie per valutare e utilizzare le chiamate di sistema e le tecniche per la gestione dei processi, della memoria, dei dispositivi di I/O e della memoria secondaria, così come tecniche per la virtualizzazione delle risorse hardware, non affrontate nel corso.

Moduli

Anno corso 2
Codice MF0369
Insegnamento SISTEMI OPERATIVI: SISTEMI OPERATIVI 1
SSD INF/01
Sede VERCELLI
Curriculum CORSO GENERICO
CFU 6
Anno corso 2
Codice MF0370
Insegnamento SISTEMI OPERATIVI: SISTEMI OPERATIVI 2
Docenti Marco GUAZZONE
SSD INF/01
Sede VERCELLI
Curriculum CORSO GENERICO
CFU 6
Ultimo aggiornamento:09-09-2026 00:14:31