UNIVERSITA' DELLA CALABRIA


Facoltà di Ingegneria

A.A. 2007-2008

SISTEMI OPERATIVI

 

Docente: Domenico Talia

email: talia@deis.unical.it


OBIETTIVI E ORGANIZZAZIONE DEL CORSO

Il corso di Sistemi Operativi ha lo scopo di introdurre le architetture e i principi di funzionamento e di progetto dei sistemi operativi. Verranno descritti i concetti e i meccanismi fondamentali per la gestione dei processi, della memoria, dell'I/O e del file system sui cui sono basati i sistemi operativi moderni. Nel corso si pone una particolare enfasi sui meccanismi di cooperazione e comunicazione tra processi e threads e vengono presentati e discussi esempi di programmazione concorrente tramite l'utilizzo dei meccanismi di concorrenza di Java e delle system call offerte dal sistema operativo Linux.


CONTENUTI DEL CORSO

Introduzione

Concetti fondamentali, Dai sistemi batch ai sistemi operativi moderni, Struttura del sistema operativo, Componenti di un sistema operativo, System calls.  

Strutture dei Sistemi di Calcolo

Funzionamento di un calcolatore, struttura dell'I/O, struttura della memoria, gerarchia delle memorie, protezione  hardware.

Struttura dei Sistemi Operativi

Componenti principali, servizi, systems call, struttura di un sistema operativo, macchine virtuali, approccio a microkernel, generazione di un sistema. 

Gestione dei Processi

Processi, Threads, Creazione, interazione e terminazione di processi, Schedulazione dei processi, Diagramma di Stato, Algoritmi di scheduling.

Cooperazione tra Processi

Sincronizzazione e Comunicazione, Modelli di programmazione concorrente, Meccanismi di cooperazione: semafori, regioni critiche, monitor, scambio messaggi, Deadlock e Starvation.

Gestione della Memoria Principale

Tecniche per la gestione della memoria, Swapping, Paginazione e Segmentazione: Concetti ed Algoritmi, Memoria Virtuale: paginazione e segmentazione.

File System

Caratteristiche del File System, File e Directory, Protezione, Implementazione del file system.

Gestione dei dispositivi di Input/Output

Principi dell'hardware di I/O, Il software per la gestione dell' I/O, Dischi, Scheduling del disco, Clock, Terminali.

Protezione e sicurezza

Problemi e Meccanismi di protezione, Principio del privilegio minimo, Matrici di accesso, Cavallo di Troia, Worms, Virus, Tecniche per aumentare la sicurezza di un sistema.



LIBRI DI TESTO

    A. Silberschatz, P. Galvin, G. Gagne, SISTEMI OPERATIVI: Concetti ed Esempi,  Addison-Wesley, 7a ed., 2006.

TESTI CONSIGLIATI
  1. A.S. Tanenbaum, I moderni Sistemi Operativi, 2a ed., Jackson Libri, 2002.
  2. W. Stallings, Sistemi Operativi, Jackson Libri, 2000.

 

Prerequisiti

Programmazione Orientata agli Oggetti e Architettura dei Calcolatori.


Orario del Corso:  

Lezioni:          Lunedi, 17.30-19.30, aula 43B e Martedi, 15.30-17.30, aula B.

Esercitazioni:  Giovedi, 9.30-11.30, aula 43B.

 


Materiale didattico


I lucidi delle lezioni (in formato PDF) sono
qui.


Esame


L'esame consiste in una prova scritta ed una prova orale. La prova scritta consiste in esercizi di programmazione concorrente. Nella prova orale verranno discussi i vari argomenti del corso nonché lo svolgimento della prova scritta. Durante lo svolgimento del corso è facoltativo lo sviluppo di un progetto didattico che gli studenti potranno svolgere in gruppi o singolarmente.

 

Appelli 2002/03

Appelli 2003/04


Prenotazione ESAME


Il docente riceve

Martedi dalle ore 17.30 alle19.30


 

DEIS - Laboratorio Grid