Sistemi operativi ii

A.A. 2019/2020
6
Crediti massimi
48
Ore totali
SSD
ING-INF/05
Lingua
Italiano
Obiettivi formativi
L'insegnamento si propone di introdurre principali concetti su cui è basata la realizzazione di un sistema operativo, le sue funzionalità principali nonché acquisire padronanza nell'uso delle principali API del sistema operativo Linux. Al fine di fornire agli studenti una migliore comprensione dei diversi temi affrontati verrà affrontato lo studio delle componenti principali di un sistema operativo didattico.
Risultati apprendimento attesi
Al termine dell'insegnamento lo studente sarà in grado di: individuare le principali caratteristiche di un sistema operativo, valutarne le criticità ed i punti di forza, scrivere programmi che usano le principali API di sistema operativo, leggere e commentare codice di un sistema operativo reale.
Programma e organizzazione didattica

Edizione unica

Responsabile
Programma
Il corso analizza architetture, funzionalità, meccanismi, politiche e gestione dei sistemi operativi relativamente alla gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente e dei sistemi operativi distribuiti per le varie architetture dei sistemi di elaborazione (monoprocessore, multiprocessore, cluster, distribuiti, embedded) orientati alle principali aree applicative (sistemi transazionali, interattivi, gestionali, multimediali, d'automazione d'ufficio, per telecomunicazioni, di controllo industriale, robotici, embedded). Il corso approfondisce poi gli aspetti progettuali e di gestione dei sistemi operativi, con riferimento a tecniche di progettazione, configurazione, e ottimizzazione relativamente alla gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente e dei sistemi operativi distribuiti.

· Virtualizzazione della memoria centrale: politiche e meccanismi di gestione della memoria centrale; supporti architetturali; consistenza; tolleranza ai guasti e agli errori software; sicurezza e protezione; progettazione di algoritmi e strutture dati per la virtualizzazione della memoria centrale.

· Virtualizzazione dei dispositivi di ingresso/uscita: meccanismi e politiche di gestione delle tipologie dispositivi e interfacciamento; orologio, ordinamento temporale degli eventi in sistemi distribuiti, coordinamento; dischi; terminali; stampanti; periferiche speciali, supporto di sistema operativo per reti informatiche; aspetti di tempo reale, tolleranza ai guasti e agli errori software, sicurezza e protezione; progettazione di algoritmi e strutture dati per la virtualizzazione del dei dispositivi di ingresso/uscita.

· Astrazione della rappresentazione delle risorse informative e fisiche: file, file system, file system di rete e distribuito, politiche di identificazione delle risorse; consistenza, caching, backup; tolleranza ai guasti e agli errori software; protezione e sicurezza degli accessi; progettazione di algoritmi e strutture dati per l'astrazione delle risorse.

· Interfaccia utente: tipi di interpreti e interfacce utente (programmativo, testuale, grafico, multimediale); meccanismi e politiche di gestione dell'interfaccia utente; gestione e sicurezza degli accessi; tolleranza ai guasti e agli errori software; progettazione di algoritmi e strutture dati per l'interfaccia utente.

· Sistemi operativi per architetture distribuite: esecuzione di processi, sincronizzazione e comunicazione tra processi, gestione del deadlock, gestione delle periferiche, gestione del file system.
Prerequisiti
Sono richieste conoscenze relative a concetti di informatica di base, architettura degli elaboratori, e programmazione.
A seguito di regole stabilite dal Collegio Didattico è obbligatorio il superamento dell'esame di Programmazione.
Metodi didattici
Lezioni registrate.
Materiale di riferimento
A. Silberschatz, G. Gagne, P.B. Galvin, Operating Systems Concepts, Wiley
o un libro simile che copra tutti gli argomenti

Slide e registrazioni delle lezioni saranno disponibili sul sito web del corso: https://vpiuriso.ariel.ctu.unimi.it/
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste in una prova scritta volta ad accertare la preparazione e la comprensione della materia. La prova consiste in domande di teoria. La durata della prova è 1:45h. La valutazione espressa in trentesimi terrà conto della correttezza, completezza e chiarezza espositiva delle risposte alle domande. L'esame non è sufficiente se una o più risposte non sono sufficienti. Durante la prova scritta non è consentito l'utilizzo di alcun materiale.
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI - CFU: 6
Lezioni: 48 ore
Docente: Piuri Vincenzo
Siti didattici