Dettaglio modulo

SISTEMI OPERATIVI: SISTEMI OPERATIVI 2

MF0367

Insegnamento
SISTEMI OPERATIVI: SISTEMI OPERATIVI 2
Codice
MF0367
Anno Accademico
2026/2027
Anno regolamento
2025/2026
Corso di studio
INFORMATICA
Curriculum
000 - CORSO GENERICO
Responsabile didattico
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
ALESSANDRIA
Lingua insegnamento
Italiano
Contenuti
L’insegnamento approfondisce la progettazione e la realizzazione di due componenti fondamentali dei sistemi operativi: il sottosistema di input/output e il file system. Sono trattati l’architettura del sottosistema di I/O, l’interazione tra sistema operativo e periferiche, la struttura e la gestione dei dispositivi di memorizzazione, le politiche di scheduling del disco, i sistemi RAID, la struttura dei driver di periferica e i principali criteri di progettazione e implementazione dei file system. Gli argomenti teorici sono affiancati dall’analisi di soluzioni progettuali, da esempi applicativi e da esercizi analoghi a quelli proposti nella verifica finale.
Testi di riferimento
Testo principale:
Edizione internazionale: Andrew S. Tanenbaum, Herbert Bos, Modern Operating Systems: Global Edition, 5th edition, Pearson, 2023, ISBN 9781292459660.
Edizione italiana: Andrew S. Tanenbaum, Herbert Bos, I moderni sistemi operativi, 5a edizione, Pearson, 2023, ISBN 9788891931955.

Il testo è adatto allo studio sistematico dei principi teorici, delle architetture e delle principali soluzioni progettuali relative al sottosistema di I/O e ai file system. I materiali messi a disposizione sulla piattaforma DIR, comprendenti presentazioni, esempi, esercizi e tracce di prove d’esame, sono finalizzati al consolidamento degli argomenti trattati e alla preparazione delle domande teorico-metodologiche e applicative della prova scritta.
Obiettivi formativi
L’insegnamento concorre agli obiettivi formativi del Corso di Studio in Informatica fornendo conoscenze e strumenti metodologici per comprendere, analizzare e progettare componenti software di sistema.

Al termine dell’insegnamento, la studentessa o lo studente dovrà essere in grado di:
1. descrivere e mettere in relazione i principi di funzionamento del sottosistema di input/output, dei dispositivi di memorizzazione, dei driver di periferica e dei file system;
2. analizzare i requisiti di uno scenario realistico e individuare meccanismi, politiche e strutture dati adeguati alla gestione dell’I/O e della memoria secondaria;
3. applicare metodi e tecniche di progettazione per confrontare soluzioni alternative relative a scheduling del disco, organizzazione RAID, allocazione dei file, gestione dello spazio libero, protezione, efficienza, backup e ripristino;
4. motivare le scelte progettuali adottate, valutarne vantaggi e limiti e comunicarle con terminologia tecnica appropriata.

L’insegnamento attribuisce 6 CFU, corrispondenti a 42 ore di didattica erogativa, 6 di didattica interattiva , e 102 ore di studio individuale e autoapprendimento.
Prerequisiti
Per affrontare proficuamente l’insegnamento è necessario possedere le conoscenze e le abilità acquisite negli insegnamenti di Architetture degli Elaboratori 1, Architetture degli Elaboratori 2 e Sistemi Operativi 1.

In particolare, è richiesto di saper:
- rappresentare dati e indirizzi in formato binario ed esadecimale;
- descrivere il funzionamento di CPU, memoria principale, bus, interrupt e meccanismi di accesso diretto alla memoria;
- comprendere il ruolo del set di istruzioni, dei livelli di privilegio e dell’interazione tra hardware e software;
- descrivere processi, thread, concorrenza, sincronizzazione, gestione della memoria e chiamate di sistema;
- leggere semplici frammenti di codice e pseudocodice relativi a componenti di basso livello.

Eventuali propedeuticità formali sono quelle previste dal Regolamento didattico del Corso di Studio.
Metodi didattici
L’insegnamento combina didattica erogativa e didattica interattiva.

La didattica erogativa comprende lezioni in presenza dedicate alla presentazione dei concetti fondamentali, dei modelli, delle strutture dati, degli algoritmi e delle principali alternative progettuali relative al sottosistema di I/O, ai driver e ai file system. Le spiegazioni sono corredate da esempi, schemi e confronti tra differenti soluzioni implementative.

La didattica interattiva comprende:
- esercizi quantitativi svolti e discussi in aula;
- analisi di scenari nei quali occorre individuare requisiti, formulare ipotesi e scegliere una soluzione progettuale;
- quesiti teorico-metodologici e applicativi analoghi a quelli utilizzati nella prova d’esame;
- momenti di confronto nei quali le studentesse e gli studenti sono invitati a motivare le proprie scelte e a valutare criticamente soluzioni alternative.

La piattaforma DIR mette a disposizione materiali coerenti con il programma, esempi, esercizi e tracce di prove d’esame. Tali materiali sono utilizzabili anche da chi non frequenta e consentono di seguire l’intero percorso formativo senza rinvii a informazioni fornite esclusivamente durante le lezioni.

Le attività didattiche sono progettate per sviluppare non soltanto la conoscenza dei contenuti, ma anche la capacità di applicarli, l’autonomia di giudizio e la capacità di comunicare in forma scritta procedimenti e scelte progettuali.
Altre informazioni
Tutte le informazioni necessarie per la preparazione dell’esame sono contenute nella presente scheda e nei materiali resi disponibili sulla piattaforma DIR. Eventuali comunicazioni organizzative relative agli appelli sono pubblicate attraverso i canali istituzionali.

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 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-studentesse-e-studenti-condizione-di-disabilit%C3%A0-e-dsa

Dopo avere preso contatto con lo Staff di Ateneo, le studentesse e gli studenti con disabilità, DSA o BES possono contattare la docente o il docente titolare dell’insegnamento per concordare la concreta applicazione delle misure previste, con riferimento agli aspetti didattici e alle modalità di esame.
Modalità di verifica dell'apprendimento
L’esame consiste in una prova scritta individuale, della durata di 2 ore, composta indicativamente da 8 quesiti a risposta aperta e/o chiusa. La prova comprende sia domande teorico-metodologiche sia domande applicative ed esercizi sugli argomenti indicati nel programma esteso. Ove possibile, la prova si svolge mediante una piattaforma informatica.

Durante la prova non è consentita la consultazione di libri, appunti, dispense o altro materiale didattico, salvo eventuali materiali espressamente autorizzati e indicati nella convocazione dell’esame.

Le domande verificano i seguenti risultati di apprendimento:
- conoscenza e comprensione: definire concetti, descrivere strutture e meccanismi, mettere in relazione le componenti del sottosistema di I/O e dei file system;
- applicazione delle conoscenze: svolgere calcoli, applicare algoritmi e procedure, analizzare scenari e individuare soluzioni coerenti con i requisiti;
- autonomia di giudizio: confrontare alternative, esplicitare ipotesi e motivare le scelte progettuali;
- abilità comunicative: organizzare le risposte in modo chiaro, rigoroso e coerente, utilizzando correttamente il lessico tecnico;
- capacità di apprendimento: utilizzare in modo integrato concetti provenienti da parti diverse del programma per affrontare quesiti non meramente ripetitivi.

Criteri di valutazione
Il punteggio complessivo è espresso in trentesimi ed è determinato considerando:
1. correttezza delle conoscenze richiamate;
2. completezza della risposta rispetto alla richiesta;
3. correttezza dei procedimenti, dei calcoli e dell’applicazione dei metodi;
4. capacità di motivare le scelte e confrontare soluzioni alternative;
5. chiarezza, organizzazione logica e uso appropriato della terminologia specialistica.

Per le domande a risposta chiusa si applica il seguente criterio: 1punto per la risposta corretta, 0 punti per le risposte errate o non date. Per le domande aperte e gli esercizi, il punteggio assegnato a ciascun quesito è indicato nel testo della prova. Il voto finale deriva dalla somma dei punteggi ottenuti nei singoli quesiti, eventualmente convertita in trentesimi secondo la scala comunicata nella prova.

Livelli di valutazione
- 18-20/30: raggiungimento essenziale dei risultati attesi; conoscenze di base complessivamente corrette, applicazione dei procedimenti standard con errori non gravi, motivazioni ed esposizione sufficienti.
- 21-23/30: raggiungimento discreto; conoscenze abbastanza complete, applicazione generalmente corretta, capacità di collegamento e terminologia adeguate.
- 24-26/30: buon raggiungimento; conoscenze solide, procedimenti corretti, motivazioni chiare e capacità di confrontare le principali alternative.
- 27-29/30: raggiungimento molto buono; conoscenze approfondite e integrate, autonomia nell’analisi, elevata correttezza metodologica ed espositiva.
- 30-30 e lode: raggiungimento eccellente; padronanza completa e critica dei contenuti, capacità di affrontare autonomamente quesiti complessi o non ripetitivi, argomentazione rigorosa, precisa e particolarmente chiara. La lode è attribuita quando la prova evidenzia, oltre alla piena correttezza, un livello di approfondimento, autonomia e qualità espositiva particolarmente elevato.

La prova è superata con una votazione di almeno 18/30. Una preparazione limitata a nozioni frammentarie, l’incapacità di applicare i procedimenti fondamentali o errori concettuali rilevanti comportano una valutazione insufficiente.

Per la preparazione delle domande di conoscenza e comprensione è indicato lo studio sistematico del libro di testo e dei materiali pubblicati sulla piattaforma DIR. Per la preparazione delle domande applicative sono particolarmente utili gli esercizi svolti, gli esempi e le tracce di prove d’esame disponibili sulla medesima piattaforma.

I risultati sono comunicati tramite la piattaforma DIR.
Programma esteso
1. Architettura del sottosistema di input/output
- Ruolo e organizzazione del sottosistema di I/O.
- Interfaccia di I/O per le applicazioni e chiamate di sistema.
- Sottosistema di I/O del kernel.
- Interrupt, polling, buffering, caching, spooling e gestione degli errori.
- Criteri di confronto tra soluzioni progettuali alternative.

2. Dispositivi di memorizzazione e gestione del disco
- Struttura e caratteristiche dei dispositivi di memorizzazione.
- Organizzazione logica e fisica dei dischi.
- Tempi di accesso e metriche di prestazione.
- Politiche di disk scheduling e loro valutazione.
- Gestione delle unità a disco.
- Sistemi RAID: livelli principali, affidabilità, capacità e prestazioni.

3. Driver di periferica
- Ruolo e struttura di un driver.
- Interazione tra driver, kernel, controller e dispositivo.
- Gestione delle richieste, degli interrupt e degli errori.
- Organizzazione dei driver nel sistema operativo xv6.
- Analisi del driver IDE di xv6 come caso di studio.

4. Concetti e architettura dei file system
- Concetto di file e attributi dei file.
- Operazioni sui file e modalità di accesso.
- Directory, gerarchie di nomi e struttura del disco.
- Condivisione dei file e meccanismi di protezione.
- Struttura a livelli del file system.

5. Implementazione dei file system
- Implementazione di file e directory.
- Metodi di allocazione contigua, concatenata e indicizzata.
- Strutture di metadati e traduzione degli indirizzi logici in indirizzi fisici.
- Gestione dello spazio libero.
- Efficienza e prestazioni.
- Coerenza, affidabilità e recupero dopo un guasto.
- Backup e ripristino.

6. Attività applicative e confronto tra soluzioni
- Risoluzione guidata e autonoma di esercizi quantitativi e progettuali.
- Analisi di requisiti e scelta motivata di meccanismi e politiche.
- Confronto tra alternative in termini di prestazioni, affidabilità, complessità e uso delle risorse.
- Discussione di quesiti analoghi a quelli della prova d’esame.

Integrazione della dimensione di genere
Durante l’insegnamento si richiama l’attenzione sull’uso di un linguaggio tecnico inclusivo e sull’impatto che le scelte di progettazione del software di sistema possono avere sull’accessibilità e sull’inclusione delle diverse categorie di persone utilizzatrici.
Risultati di apprendimento attesi
Conoscenza e capacità di comprensione
Al termine dell’insegnamento, la studentessa o lo studente dovrà conoscere e comprendere:
- l’architettura del sottosistema di input/output e le modalità di interazione tra applicazioni, kernel, controller e periferiche;
- i principali parametri prestazionali dei dispositivi di memorizzazione e le politiche di scheduling del disco;
- struttura, responsabilità e funzionamento dei driver di periferica;
- principi, strutture dati e algoritmi impiegati nella progettazione e nell’implementazione dei file system;
- vantaggi, limiti e ambiti di applicazione delle principali soluzioni alternative trattate.

Capacità di applicare conoscenza e comprensione
La studentessa o lo studente dovrà essere in grado di:
- risolvere esercizi relativi a tempi di accesso, scheduling del disco, organizzazioni RAID, allocazione dei file e gestione dello spazio libero;
- analizzare scenari realistici e scegliere soluzioni coerenti con i requisiti assegnati;
- descrivere il comportamento di semplici componenti di I/O, driver e file system mediante schemi, calcoli, pseudocodice o argomentazioni tecniche;
- confrontare più soluzioni sulla base di prestazioni, affidabilità, complessità e utilizzo delle risorse.

Autonomia di giudizio
La studentessa o lo studente dovrà saper individuare le informazioni rilevanti di un problema, formulare ipotesi esplicite, valutare criticamente soluzioni alternative e motivare la scelta ritenuta più adeguata.

Abilità comunicative
La studentessa o lo studente dovrà saper esporre per iscritto concetti, procedimenti e scelte progettuali in modo chiaro, logicamente organizzato e tecnicamente corretto, utilizzando il lessico specialistico della disciplina.

Capacità di apprendimento
La studentessa o lo studente dovrà essere in grado di utilizzare il libro di testo, la documentazione tecnica e i materiali didattici per approfondire autonomamente componenti e soluzioni di sistemi operativi non esaminati direttamente durante l’insegnamento.

Livello minimo per il superamento
Per raggiungere il livello minimo di sufficienza, la studentessa o lo studente deve dimostrare di conoscere i concetti fondamentali di tutti i nuclei principali del programma, applicare correttamente i procedimenti standard agli esercizi proposti, motivare in modo essenziale le scelte compiute ed esporre le risposte con terminologia comprensibile e sostanzialmente corretta.

Livello avanzato
Un livello avanzato richiede una conoscenza ampia e integrata degli argomenti, la capacità di collegare componenti diverse del sistema operativo, affrontare autonomamente problemi non identici a quelli esercitati, confrontare criticamente soluzioni alternative e produrre risposte rigorose, complete e ben organizzate.
Ultimo aggiornamento:09-09-2026 00:14:31