Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
INGEGNERIA
INGEGNERIA INFORMATICA
Insegnamento
SISTEMI OPERATIVI
IN06107631, A.A. 2011/12

Informazioni valide per gli studenti immatricolati nell'A.A. 2011/12

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea magistrale in
INGEGNERIA INFORMATICA
IN0521, ordinamento 2009/10, A.A. 2011/12
N0
porta questa
pagina con te
Crediti formativi 9.0
Tipo di valutazione Voto
Denominazione inglese OPERATIVE SYSTEMS
Sito della struttura didattica http://moodle.dei.unipd.it/
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA
Corso singolo NON è possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile MICHELE MORO ING-INF/05

Mutuazioni
Codice Insegnamento Responsabile Corso di studio
IN06107631 SISTEMI OPERATIVI MICHELE MORO IN0524

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
CARATTERIZZANTE Ingegneria informatica ING-INF/05 9.0

Organizzazione dell'insegnamento
Periodo di erogazione Secondo semestre
Anno di corso I Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
LEZIONE 9.0 72 153.0

Calendario
Inizio attività didattiche 05/03/2012
Fine attività didattiche 16/06/2012

Commissioni d'esame
Commissione Dal Al Membri
7 A.A. 2017/2018 01/10/2017 15/03/2019 MORO MICHELE (Presidente)
NANNI LORIS (Membro Effettivo)
BADALONI SILVANA (Supplente)
CANAZZA TARGON SERGIO (Supplente)
MENEGATTI EMANUELE (Supplente)
MIGLIARDI MAURO (Supplente)
RODA' ANTONIO (Supplente)
SATTA GIORGIO (Supplente)
ZINGIRIAN NICOLA (Supplente)
6 A.A. 2016/2017 01/10/2016 15/03/2018 MORO MICHELE (Presidente)
FERRARI CARLO (Membro Effettivo)
AVANZINI FEDERICO (Supplente)
FANTOZZI CARLO (Supplente)
GHIDONI STEFANO (Supplente)
MENEGATTI EMANUELE (Supplente)
5 A.A. 2015/2016 01/10/2015 15/03/2017 MORO MICHELE (Presidente)
FERRARI CARLO (Membro Effettivo)
MENEGATTI EMANUELE (Supplente)
4 A.A. 2014/2015 01/10/2014 15/03/2016 MORO MICHELE (Presidente)
FERRARI CARLO (Membro Effettivo)
CLEMENTE GIORGIO (Supplente)
DE POLI GIOVANNI (Supplente)
MENEGATTI EMANUELE (Supplente)
MIGLIARDI MAURO (Supplente)
ZINGIRIAN NICOLA (Supplente)
3 2012 01/10/2012 15/03/2014 MORO MICHELE (Presidente)
CLEMENTE GIORGIO (Membro Effettivo)
CONGIU SERGIO (Supplente)
FERRARI CARLO (Supplente)

Syllabus
Prerequisiti: Architettura degli Elaboratori
Dati ed Algoritmi 1
Risultati di apprendimento previsti: Comprendere il concetto di processo e la distinzione tra processo e programma
Saper descrivere l'evoluzione dei processi
Conoscere le problematiche relative alla gestione delle risorse e allo stallo
Conoscere gli elementi e la semantica/evoluzione delle reti di Petri
Comprendere le motivazioni delle necessità di sincronizzazione tra processi e i relativi strumenti
Conoscere i costrutti base del linguaggio ADA relativi alla richiesta di servizi e le relative opzioni
Conoscere il ruolo del nucleo di un sistema operativo e delle risorse HW da esso utilizzate
Comprendere la funzione di uno scheduler e le diverse tipologie di algoritmi utilizzati per lo scheduling con le loro caratteristiche distintive
Comprendere la distinzione tra organizzazione logica e fisica della memoria
Comprendere funzioni e vantaggi della virtualizzazione della memoria
Comprendere motivazioni e vantaggi nella gestione dello I/O
Comprendere l'organizzazione di un file system
Conoscere l'organizzazione complessiva interna di UNIX
Comprendere le problematiche di scheduling nei RTOS
Contenuti: Cenni storici e teoria dei sistemi operativi
Ruolo di un SO e organizzazione interna
Esemplificazione di sistemi in uso
Programmazione concorrente e costrutti di sincronizzazione
Cenni ai sistemi real-time
Programma: Concetti generali. Le funzionalità di un sistema operativo. Evoluzione delle architetture. Concorrenza e parallelismo. Modelli di sistemi concorrenti. Processi, risorse, interferenza e cooperazione. Vincoli nella evoluzione dei processi, Grafi di precedenza. Stallo: definizione, riconoscimento e prevenzione. Reti di Petri. Sincronizzazione e comunicazione tra processi. Semafori, mailbox e messaggi. Realizzazione di protocolli di sincronizzazione.

Layout di un sistema operativo: organizzazione, gestione delle risorse, strutture di dati ed algoritmi. . I sottosistemi principali: Nucleo: protezione, sincronizzazione, schedulazione del processore; gestione della memoria principale; gestione dei dispositivi di ingresso-uscita, periferiche e driver; organizzazione e gestione della memoria secondaria, memoria virtuale. Sistemi Raid. Funzionalità ad alto livello di un sistema operativo: File system, shell, interfaccia grafica. Sistemi multiprocessori. Schedulazione. Cenni su: sistemi embedded, sistemi distribuiti, sistemi Real Time, virtualizzazione di un SO. Organizzazione ed uso del sistema Linux.
Processi, thread e programmazione concorrente. I paradigmi per la programmazione concorrente. Tecniche di base per la sincronizzazione: Mutex, Semafori privati, Regioni. Costrutti ad alto livello: Monitor, Rendez-vous. Linguaggi per la programmazione concorrente: Concurrent Pascal, CSP, ADA. La concorrenza in Java, realizzazione dei protocolli di sincronizzazione. Esempi di programmi concorrenti ed esercitazioni.
Testi di riferimento: G.Clemente, F.Filira, M.Moro, Sistemi Operativi: Architettura e Programmazione concorrente, 3/e. Padova: Libreria Progetto, 2011. Cerca nel catalogo
Note ai testi di riferimento: Altro materiale didattico: https://moodle.dei.unipd.it/
Metodi didattici: Lezioni frontali con ausilio di diapositive proiettate;
esercitazioni di programmazione concorrente;
distribuzione di una libreria per programmazione concorrente
in Java finalizzata alle esercitazioni individuali.
Metodi di valutazione: Prova scritta di programmazione concorrente +
Prova orale

In alternativa: prove intermedie durante il corso
Altro: Il materiale didattico aggiuntivo sarà accessibile agli iscritti al corso tramite la bacheca elettronica DEI (https://moodle.dei.unipd.it/), con password fornita dal docente a inizio corso.