08574 - SISTEMI OPERATIVI

Anno Accademico 2015/2016

  • Docente: Vittorio Ghini
  • Crediti formativi: 12
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano

Conoscenze e abilità da conseguire

Al termine del corso, lo studente possiede le conoscenze di base relative alla teoria, architettura, funzionamento e implementazione dei sistemi operativi moderni e alla programmazione di sistema. In particolare, lo studente è in grado di: - utilizzare e comprendere il funzionamento dei sistemi operativi moderni, in relazione agli aspetti di teoria, per ciò che concerne in particolare la gestione dei processi, la gestione della memoria, la gestione dell'I/O, la gestione del File System e aspetti base di sicurezza; - sviluppare programmi di sistema nel linguaggio C, in particolare per ambienti POSIX; - sviluppare semplici script nel linguaggio Shell, con riferimento ad ambienti UNIX; - comprendere e, in parte, saper modificare ed estendere l'implementazione del kernel un sistema operativo moderno (ad esempio, implementando nuove chiamate di sistema e device driver), a partire da sistemi open-source come Linux Kernel.

Contenuti

  • Introduzione e prospettiva storica.
  • Richiami di Linguaggio ANSI C.
  • Shell e shell scripting.
  • Thread e processi.
  • Principali modelli di programmazione concorrente.
  • Deadlock.
  • Gestione della CPU.
  • Gestione della memoria centrale.
  • Gestione della memoria secondaria e file system.
  • Gestione dell'I/O.
  • Protezione e sicurezza.
  • Casi applicativi: i sistemi Linux e Windows.
  • Introduzione alle macchine virtuali

Testi/Bibliografia

Silberschatz, P.B. Galvin, G. Gagne, Sistemi operativi. Concetti ed esempi, nona edizione, Pearson Education Italia (2014)

Metodi didattici

Lezioni frontali ed esercitazioni in laboratorio.

Modalità di verifica e valutazione dell'apprendimento

L'esame consiste di una prova pratica in laboratorio e di una prova scritta.

Strumenti a supporto della didattica

Slide a disposizione via Web.

Orario di ricevimento

Consulta il sito web di Vittorio Ghini