Dettaglio insegnamento

SISTEMI OPERATIVI

MF0368

Insegnamento
SISTEMI OPERATIVI
Codice
MF0368
Anno Accademico
2024/2025
Anno regolamento
2023/2024
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
Secondo Semestre, Primo 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: le studentesse e gli studenti svolgeranno delle esercitazioni in laboratorio sotto la supervisione del docente.

Le studentesse e gli studenti con disabilità o con Disturbi Specifici dell’Apprendimento (DSA) o con Bisogni Educativi Speciali (BES) possono richiedere servizi e strumenti specifici a loro dedicati, rivolgendosi allo "Staff Sviluppo e Coordinamento Carriere e Servizi alle Studentesse e agli Studenti" e consultando la pagina dedicata del sito di Ateneo: https://uniupo.it/it/servizi/servizi-studenti-disabili-e-dsa.
Le studentesse e gli studenti con disabilità, DSA, BES, una volta preso contatto con lo Staff di Ateneo, possono contattare la/il docente titolaredell'insegnamento in relazione alla declinazione delle modalità di esame, in merito agli aspetti didattici.
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 MF0370
Insegnamento SISTEMI OPERATIVI: SISTEMI OPERATIVI 2
Docenti Marco GUAZZONE
SSD INF/01
Sede VERCELLI
Curriculum CORSO GENERICO
CFU 6
Anno corso 2
Codice MF0369
Insegnamento SISTEMI OPERATIVI: SISTEMI OPERATIVI 1
SSD INF/01
Sede VERCELLI
Curriculum CORSO GENERICO
CFU 6
Ultimo aggiornamento:09-09-2026 00:14:31