Dettaglio insegnamento

SISTEMI OPERATIVI

MF0365

Insegnamento
SISTEMI OPERATIVI
Codice
MF0365
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
ALESSANDRIA
Lingua insegnamento
Italiano
Contenuti
Introduzione ai sistemi operativi, gestione di processi e threads, sincronizzazione dei processi e thread e programmazione concorrente, gestione della memoria. Gestione e sincronizzazione di processi e threads in Unix.
Gestione dell'Input/Output.
Progettazione e realizzazione dei file system.
Tecniche di virtualizzazione di sistemi.
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.
Sulla piattaforma DIR è a disposizione materiale integrativo.
Obiettivi formativi
Comprendere i principi e il ruolo dei sistemi operativi, apprendere le nozioni di base di gestione dei processi e dei threads, della gestione della memoria, della gestione dell'input/output, dei file systems e dei sistemi di virtualizzazione.
Prerequisiti
Conoscenza degli argomenti di Architettura degli Elaboratori, Programmazione 1 e 2.
Metodi didattici
Lezioni frontali in cui si mettono in evidenza gli obiettivi per cui sono state messi a punto i meccanismi le politiche di gestione.
Esercitazioni in cui si applicano a
casi concreti i concetti illustrati a lezione.
Lezioni in laboratorio in cui si illustra il funzionamento di chiamate di sistema.
Altre informazioni
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
Esame scritto consistente domande su argomenti diversi del corso, compresa la programmazione con l'uso di chiamate di sistema. Il voto finale, stabilito in modo collegiale dai docenti dei due moduli, terrà conto della valutazione ottenuta sulle singole domande, per le quali vengono valutate la correttezza e completezza delle risposte, la capacità di organizzare la conoscenza, la capacità di ragionamento critico, la capacità di applicare i concetti ai problemi applicativi, la qualità dell'esposizione, l'utilizzo appropriato del lessico specialistico.
Programma esteso
Nozioni fondamentali sull'architettura del sistema operativo di un elaboratore multiutente.

Nucleo del sistema operativo. Gestione di processi e threads.

Sincronizzazione di processi e threads e programmazione concorrente. Deadlocks.

Gestione della memoria.

Processi nel sistema Unix. Generalità sull'utilizzo delle chiamate di sistema Unix; chiamate di sistema per gestione di processi, libreria per threads. Chiamate di sistema e funzioni di libreria per sincronizzazione di processi e threads.

Gestione dell'Input/Ouput: 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.

Progettazione e sviluppo di driver di periferiche di Input/Output: struttura di un driver; i driver nel sistema operativo xv6; il driver IDE nel sistema operativo xv6.

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; backup e ripristino.

Tecniche di virtualizzazione delle risorse: virtualizzazione del processore: nozioni generali, tecniche software ed hardware per la virtualizzazione dei processori della famiglia xv6; virtualizzazione della memoria: nozioni generali, tecniche software ed hardware per la virtualizzazione della memoria virtuale.
Risultati di apprendimento attesi
Conoscenza e capacità di comprensione: Comprendere i principi generali e il ruolo dei sistemi operativi, le nozioni fondamentali relative ai processi, ai threads, alla gestione della memoria principale, di quelle secondarie e dei dispositivi di I/O, dei file system, alle tecniche di virtualizzazione.
Capacità di applicare conoscenza e comprensione: Applicare i principi generali in un sistema reale in particolare mediante le chiamate di sistema di Unix. Raggiungere l'autonomia di giudizio rispetto al migliore uso di processi e threads e delle tecniche di gestione delle memorie, dei dispositivi di I/O e dei file systems. Essere in grado di comunicare e spiegare i principi fondamentali dei sistemi operativi.

Moduli

Anno corso 2
Codice MF0367
Insegnamento SISTEMI OPERATIVI: SISTEMI OPERATIVI 2
SSD INF/01
Sede ALESSANDRIA
Curriculum CORSO GENERICO
CFU 6
Anno corso 2
Codice MF0366
Insegnamento SISTEMI OPERATIVI: SISTEMI OPERATIVI 1
SSD INF/01
Sede ALESSANDRIA
Curriculum CORSO GENERICO
CFU 6
Ultimo aggiornamento:09-09-2026 00:14:31