Docente/i:
Luca Lombardi
Denominazione del corso: Sistemi operativi
Codice del corso: 502478
Corso di laurea: Ingegneria Elettronica e Informatica
Sede: Pavia
Settore scientifico disciplinare: ING-INF/05
L'insegnamento è caratterizzante per: Ingegneria Elettronica e Informatica
Crediti formativi: CFU 6
Sito web del corso: vision.unipv.it/corsi
Obiettivi formativi specifici
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 del corso
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.
Prerequisiti
Nozioni base introdotte nei corsi di Fondamenti di Informatica e Calcolatori elettronici.
Tipologia delle attività formative
Lezioni (ore/anno in aula): 42
Esercitazioni (ore/anno in aula): 6
Attività pratiche (ore/anno in aula): 0
Materiale didattico consigliato
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à di verifica dell'apprendimento
Verrà svolta al termine del corso una prova scritta che verterà su tutti gli argomenti trattati.
|