Sistemi operativi ii
A.A. 2018/2019
Obiettivi formativi
Il corso si propone di fornire le conoscenze sui fondamenti teorici, gli algoritmi e le tecnologie riguardanti la gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente e dei sistemi operativi distribuiti nei sistemi operativi per le principali tipologie di architetture di elaborazione, incluse le architetture distribuite.
Risultati apprendimento attesi
Fondamenti teorici, algoritmi e tecnologie per la gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente e dei sistemi distribuiti.
Comprensione del funzionamento della gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente a supporto della realizzazione ottimale di applicazioni.
Comprensione delle opportunità di configurazione e della gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente.
Comprensione del funzionamento della gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente a supporto della realizzazione ottimale di applicazioni.
Comprensione delle opportunità di configurazione e della gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente.
Periodo: Primo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Primo semestre
STUDENTI FREQUENTANTI
STUDENTI NON FREQUENTANTI
Informazioni sul programma
Fondamenti teorici, algoritmi e tecnologie per la gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente e dei sistemi distribuiti.
Comprensione del funzionamento della gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente a supporto della realizzazione ottimale di applicazioni.
Comprensione delle opportunità di configurazione e della gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente.
Comprensione del funzionamento della gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente a supporto della realizzazione ottimale di applicazioni.
Comprensione delle opportunità di configurazione e della gestione della memoria centrale, dei dispositivi di ingresso/uscita, del file system, dell'interfaccia utente.
Propedeuticità
Concetti di informatica di base, architetture dei calcolatori e programmazione.
Prerequisiti
Concetti di informatica di base, architetture dei calcolatori e programmazione.
Esame scritto
Esame scritto
Metodi didattici
Lezioni frontali
Unità didattica Lezioni
Programma
Il corso analizza comparativamente 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, ottimizzazione, e manutenzione 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; valutazione progettuale.
· 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; valutazione delle alternative progettuali.
· 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; valutazione delle alternative progettuali.
· Interfaccia utente: tipi di interpreti e interfacce utente (programmativo, testuale, grafico, multimediale, distribuito, agenti mobili); 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; valutazione delle alternative progettuali.
· Sistemi operativi per architetture distribuite: esecuzione di processi, sincronizzazione e comunicazione tra processi, gestione del deadlock, gestione delle periferiche, gestione del file system.
· 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; valutazione progettuale.
· 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; valutazione delle alternative progettuali.
· 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; valutazione delle alternative progettuali.
· Interfaccia utente: tipi di interpreti e interfacce utente (programmativo, testuale, grafico, multimediale, distribuito, agenti mobili); 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; valutazione delle alternative progettuali.
· Sistemi operativi per architetture distribuite: esecuzione di processi, sincronizzazione e comunicazione tra processi, gestione del deadlock, gestione delle periferiche, gestione del file system.
Metodi didattici
Lezioni frontali
Materiale di riferimento
Silbershatz, Galvin, Gagne, Sistemi Operativi, Apogeo, 2005
Lucidi sul sito web del corso
Lucidi sul sito web del corso
Unità didattica Laboratorio
Programma
Il corso analizza comparativamente 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, ottimizzazione, e manutenzione 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; valutazione progettuale.
· 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; valutazione delle alternative progettuali.
· 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; valutazione delle alternative progettuali.
· Interfaccia utente: tipi di interpreti e interfacce utente (programmativo, testuale, grafico, multimediale, distribuito, agenti mobili); 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; valutazione delle alternative progettuali.
· Sistemi operativi per architetture distribuite: esecuzione di processi, sincronizzazione e comunicazione tra processi, gestione del deadlock, gestione delle periferiche, gestione del file system.
· 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; valutazione progettuale.
· 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; valutazione delle alternative progettuali.
· 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; valutazione delle alternative progettuali.
· Interfaccia utente: tipi di interpreti e interfacce utente (programmativo, testuale, grafico, multimediale, distribuito, agenti mobili); 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; valutazione delle alternative progettuali.
· Sistemi operativi per architetture distribuite: esecuzione di processi, sincronizzazione e comunicazione tra processi, gestione del deadlock, gestione delle periferiche, gestione del file system.
Metodi didattici
Lezioni frontali
Materiale di riferimento
Silbershatz, Galvin, Gagne, Sistemi Operativi, Apogeo, 2005
Lucidi sul sito web del corso
Lucidi sul sito web del corso
Prerequisiti
L'esame consiste in una prova scritta, composta da tre domande con risposta a testo libero. Le domande vertono sulle conoscenze relative alla gestione di memoria, periferiche, file system, e sistemi distribuiti.
Moduli o unità didattiche
Unità didattica Laboratorio
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI - CFU: 3
Laboratori: 48 ore
Docente:
Donida Labati Ruggero
Unità didattica Lezioni
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI - CFU: 3
Lezioni: 24 ore
Docente:
Piuri Vincenzo
Docente/i