Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Ingegneria
INGEGNERIA INFORMATICA
Insegnamento
SISTEMI OPERATIVI
IN06107631, A.A. 2019/20

Informazioni valide per gli studenti immatricolati nell'A.A. 2018/19

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea in
INGEGNERIA INFORMATICA
IN0508, ordinamento 2011/12, A.A. 2019/20
N0
porta questa
pagina con te
Curriculum Percorso Comune
Crediti formativi 9.0
Tipo di valutazione Voto
Denominazione inglese OPERATIVE SYSTEMS
Dipartimento di riferimento Dipartimento di Ingegneria dell'Informazione (DEI)
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile LORIS NANNI ING-INF/05

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 II 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 02/03/2020
Fine attività didattiche 12/06/2020
Visualizza il calendario delle lezioni Lezioni 2019/20 Ord.2011

Syllabus
Prerequisiti: Architettura degli Elaboratori, Dati ed Algoritmi.
Conoscenze e abilita' da acquisire: Conoscenze sull'organizzazione generale e di dettaglio dei Sistemi Operativi. Conoscenze sui principi di Programmazione Concorrente. Abilità di rappresentare e risolvere con linguaggi concorrenti problemi di condivisione di risorse e sincronizzazione tra diversi processi software.
Modalita' di esame: prova scritta: teoria, esercizi, programmazione.
Criteri di valutazione: valutazione legata alla prova scritta
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.

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. 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, gestione della memoria principale; gestione dei dispositivi di ingresso-uscita, periferiche e driver; organizzazione e gestione della memoria secondaria, memoria virtuale.
Processi, thread e programmazione concorrente. I paradigmi per la programmazione concorrente. Tecniche di base per la sincronizzazione: Mutex, Semafori privati, Regioni. Esempi di programmi concorrenti ed esercitazioni.
Attivita' di apprendimento previste e metodologie di insegnamento: Lezioni ed esercitazioni frontali
Eventuali indicazioni sui materiali di studio: materiale presentato a lezione e disponibile nella piattaforma moodle dell'insegnamento, coprirà il 100% del corso (sia teoria che esercizi).
Testi di riferimento:
  • G.Clemente, F.Filira, M.Moro,, Padova:, Sistemi Operativi: Architettura e Programmazione concorrente.. Padova: Libreria Progetto, 2016. Cerca nel catalogo
  • Silberschatz, Abraham; Gagne, Greg, Operating system conceptsAbraham Silberschatz, Peter Baer Galvin, Greg Gagne. Hoboken: Wiley, --. Cerca nel catalogo