Anno immatricolazione
2015/2016
SSD
ING-INF/05 (SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI)
Dipartimento
DIPARTIMENTO DI INGEGNERIA INDUSTRIALE E DELL'INFORMAZIONE
Corso di studio
INGEGNERIA ELETTRONICA E INFORMATICA
Periodo didattico
Secondo Semestre (05/03/2018 - 15/06/2018)
Ore
45 ore di attività frontale
Lingua insegnamento
Italiano
Tipo esame
SCRITTO E ORALE CONGIUNTI
Prerequisiti
Nozioni base introdotte nei corsi di Fondamenti di Informatica e Calcolatori elettronici.
Obiettivi formativi
Il corso si propone di fornire la conoscenza di base della struttura e delle strategie di gestione delle risorse dei moderni sistemi operativi, acquisendo familiarità con concetti nuovi (come lo scheduling dei processi e i relativi algoritmi) e approfondendo quelli già posseduti dai corsi precedenti, come la gestione della memoria (centrale e di massa) e le relative strutture dati. Lo studente sarà in grado di costruire una approfondita capacità di analisi e valutazione d'impiego dei più diffusi sistemi operativi e delle strategie relative alla sicurezza dei sistemi informatici.
Programma e contenuti
Introduzione ai sistemi operativi
Evoluzione storica, modello di sistema operativo, multiprogrammazione, classificazione dei sistemi operativi. Le chiamate di sistema: classificazione e utilizzo. Uso di pipe e generazione di processi. I sistemi operativi per la multimedialità (cenni).
Gestione di memoria e CPU
Lo stato del processore, il concetto di processo e schedulazione. Stati del processo, funzioni di kernel e algoritmi di schedulazione. Deadlock e semafori. Gestione fisica della memoria principale, swapping, partizione, segmentazione e paginazione. La memoria virtuale (implementazione e gestione).
La sicurezza e i sistemi operativi
Compiti dei moderni sistemi operativi nella gestione della sicurezza. Attacchi storici alla sicurezza di sistemi informatici. Programmi perniciosi (virus, bombe logiche, trapdoor ecc?). Strategie di gestione della sicurezza da parte del sistema operativo. La gestione della protezione del sistema in Unix. Crittografia (cenni).
La gestione di dati permanenti
File, metodi di allocazione, directory e metodi di accesso. Il file system: struttura e gestione. La gestione dei dispositivi di I/O, algoritmi di scheduling per richieste di I/O su disco.
Programmazione di processi
Programmo tramite script (uso della shell). Programmazione concorrente in C e Java.
Metodi didattici
Lezioni frontali svolte mediante presentazioni proiettate su schermo (disponibili agli studenti) e approfondimenti usando la lavagna.
Saranno anche affrontati problemi numerici e di programmazione.
Testi di riferimento
Sono disponibili i lucidi delle lezioni svolte in classe.
Silberschatz Abraham; Galvin P. Baer; Gagne Greg. . Sistemi operativi. Concetti ed esempi. . Pearson Education Italia.
Andrew S. Tanenbaum.. I moderni sistemi operativi. . Pearson Education Italia. .
Modalità verifica apprendimento
Verrà svolta al termine del corso una prova scritta che verterà su tutti gli argomenti trattati allo scopo di verificare la conoscenza del candidato delle problematiche relative ai sistemi operativi. La prova consiste in domande teoriche aperte ed esercizi pratici. Lo studente può concordare con il docente una attività progettuale integrativa.
Altre informazioni
Verrà svolta al termine del corso una prova scritta che verterà su tutti gli argomenti trattati allo scopo di verificare la conoscenza del candidato delle problematiche relative ai sistemi operativi. La prova consiste in domande teoriche aperte ed esercizi pratici. Lo studente può concordare con il docente una attività progettuale integrativa.
Obiettivi Agenda 2030 per lo sviluppo sostenibile