Dettaglio modulo

SISTEMI OPERATIVI: SISTEMI OPERATIVI 2

MF0370

Insegnamento
SISTEMI OPERATIVI: SISTEMI OPERATIVI 2
Codice
MF0370
Anno Accademico
2026/2027
Anno regolamento
2025/2026
Corso di studio
INFORMATICA
Curriculum
000 - CORSO GENERICO
Responsabile didattico
Docenti
CFU
6
Ore di lezione
48
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
Tipo di insegnamento
Attività formativa monodisciplinare
Fruizione insegnamento
OBB - Obbligatoria
Anno
2
Periodo
Secondo Semestre
Sede
VERCELLI
Lingua insegnamento
Italiano
Contenuti
Il corso approfondisce aspetti avanzati dei sistemi operativi con particolare attenzione alle tecnologie di virtualizzazione, file system e gestione dell'input/output.
Testi di riferimento
Andrew S. Tanenbaum & Herbert Bos, "I moderni sistemi operativi, 5/Ed," Pearson, 2023. Disponibile anche in versione inglese "Modern Operating Systems" Fifth edition.
Jim Doherty, "SDN and NFV simplified", Pearson, 2016.
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, "Sistemi operativi. Concetti ed esempi", Pearson, 2019.
Shashank Mohan Jain, "Linux Containers and Virtualization - A Kernel Perspective", Apress, 2020.
Obiettivi formativi
Il corso si propone di fornire gli strumenti concettuali e metodologici necessari per comprendere la progettazione e la realizzazione dei file system e dei sottosistemi di input/output nei sistemi operativi moderni. Particolare attenzione sarà dedicata alle principali soluzioni tecniche utilizzate per l'organizzazione, la gestione e l'astrazione delle risorse hardware e delle memorie secondarie. In tale contesto verranno inoltre introdotti i principi e le tecniche di virtualizzazione, intesi come estensione dei meccanismi di astrazione e condivisione delle risorse offerti dal sistema operativo.
Prerequisiti
Architetture degli Elaboratori 1 e 2, Sistemi Operativi 1.
Metodi didattici
Lezioni frontali in aula nelle quali vengono esposti i concetti teorici fondamentali corredati da esempi. Gli argomenti trattati sono inoltre approfonditi mediante dimostrazioni pratiche ed esercizi, finalizzati a mostrare concretamente il funzionamento delle tecniche e delle soluzioni presentate a lezione. Durante il corso vengono discussi quesiti ed esempi analoghi a quelli proposti nelle prove d’esame. Sulla piattaforma DIR sono resi disponibili i riferimenti bibliografici, il materiale didattico utilizzato durante le lezioni, esercizi ed esempi di prove d’esame.
Altre informazioni
Le competenze verificate in sede d’esame richiedono che le studentesse e gli studenti dimostrino non solo la conoscenza dei principi teorici trattati nel corso, ma anche la capacità di applicarli all'analisi di situazioni concrete. A tal fine verranno proposti quesiti che richiedono di interpretare il funzionamento dei meccanismi studiati, confrontare possibili soluzioni tecniche e motivare le scelte progettuali adottate. L'obiettivo è verificare una comprensione organica del sistema operativo come insieme coordinato di meccanismi per la gestione e l'astrazione delle risorse hardware.
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 titolare dell'insegnamento in relazione alla declinazione delle modalità di esame, in merito agli aspetti didattici.
Modalità di verifica dell'apprendimento
L’esame consiste in una prova scritta obbligatoria ed in una prova orale facoltativa. La prova scritta comprende quesiti di natura teorica e applicativa finalizzati a verificare la comprensione dei principi e delle soluzioni tecniche trattate nel corso e la capacità di applicarli all’analisi di casi concreti. Alla prova orale sono ammessi gli studenti che abbiano conseguito almeno 15/30 nella prova scritta. Gli studenti che ottengano una valutazione compresa tra 18/30 e 27/30 possono, a richiesta, rinunciare alla prova orale e registrare il voto conseguito nello scritto.
La prova orale consente di accertare una più approfondita padronanza degli argomenti trattati, valutando la capacità di collegare tra loro i diversi meccanismi studiati, di motivare le scelte progettuali adottate e di inquadrarle nel contesto complessivo del sistema operativo.
La valutazione finale, espressa in trentesimi, tiene conto della correttezza e completezza delle risposte fornite, della capacità di organizzare ed esporre le conoscenze acquisite, della capacità di applicare i concetti teorici all'analisi di situazioni concrete e di ragionare criticamente sulle soluzioni proposte, nonché dell'uso appropriato della terminologia specialistica.
Durante la prova d'esame non sarà consentita la consultazione di libri di testo, dispense del docente, e altro materiale didattico. I risultati delle prove scritte saranno comunicati mediante l'invio di un messaggio sulla piattaforma DIR.
Programma esteso
1) Sottosistema di input/output: classificazione delle periferiche, caratteristiche prestazionali, architettura hardware e software dell’I/O, tecniche di interazione tra CPU e dispositivi, gestione degli interrupt, Direct Memory Access e driver.
2) Memorie secondarie e sistemi di memorizzazione: dischi magnetici e SSD, organizzazione fisica e logica dei dati, prestazioni, scheduling degli accessi, RAID e tecniche di gestione dell’affidabilità.
3) File system: concetti di file e directory, linking, tecniche di accesso ai dati, allocazione dei file, gestione delle directory, organizzazione interna dei file system e procedure di utilizzo.
4) Virtual File System (VFS): architettura, pathname traversal, caching, buffering e valutazione delle prestazioni.
5) File system speciali e distribuiti: FUSE, Google File System e Hadoop Distributed File System.
6) Virtualizzazione delle risorse hardware: requisiti della virtualizzazione, hypervisor, virtualizzazione di CPU, memoria, dispositivi di I/O e networking.
7) Virtualizzazione a livello di sistema operativo: container, namespaces, cgroups, container runtime e container engine.
8) Cloud computing: relazione tra cloud e virtualizzazione, modelli di servizio e modelli di deployment.
Risultati di apprendimento attesi
Conoscenza e capacità di comprensione: familiarità con i principi, le tecniche e le soluzioni adottate dai sistemi operativi moderni per la gestione dei file system, delle memorie secondarie, dei dispositivi di input/output e delle risorse hardware virtualizzate.
Capacità di applicare conoscenza e comprensione: sapere applicare i concetti e le tecniche studiate agli esercizi e agli scenari realistici proposti, interpretando il funzionamento dei meccanismi interni del sistema operativo e delle principali soluzioni implementative.
Autonomia di giudizio: analizzare e valutare autonomamente, negli esercizi e nei casi di studio proposti, le diverse soluzioni progettuali e implementative adottate dai sistemi operativi moderni, confrontandone vantaggi, svantaggi e ambiti di applicazione.
Capacità di integrare le conoscenze: sviluppare una visione d'insieme dei diversi sottosistemi che compongono un moderno sistema operativo, comprendendone le interazioni reciproche e valutandone l'impatto sulle prestazioni, sull'affidabilità e sull'utilizzo delle risorse del sistema nel suo complesso.
Abilità comunicative: essere in grado di descrivere e discutere, utilizzando una terminologia tecnica appropriata, i meccanismi e le scelte progettuali alla base dei file system, dei sottosistemi di input/output e delle tecnologie di virtualizzazione.
Capacità di apprendere: essere in grado di approfondire autonomamente argomenti avanzati relativi ai sistemi operativi, alle tecnologie di virtualizzazione e alle infrastrutture software moderne.
Ultimo aggiornamento:09-09-2026 00:14:31