UNIVERSITA' DELLA CALABRIA


Facoltà di Ingegneria

A.A. 2004-2005

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 i principi di funzionamento e di progetto dei sistemi operativi ed 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. Infine sono presentati dei cenni ai sistemi operativi distribuiti. Nel corso si pone una particolare enfasi sui meccanismi di cooperazione e comunicazione tra processi 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 UNIX.


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, socket, chiamata di procedura remota, RMI, 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
  1. A. Silberschatz, P. Galvin, Sistemi Operativi, Addison-Wesley, 6a ed., 2000.
TESTI CONSIGLIATI
  1. A.S. Tanenbaum, I moderni Sistemi Operativi, Jackson Libri, 1999.
  2. W. Stallings, Sistemi Operativi, Jackson Libri, 2000.

 

Prerequisiti

Programmazione Orientata agli Oggetti e Architettura dei Calcolatori.


Orario del Corso:

 


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 un esercizio di programmazione concorrente Nella prova orale verranno discussi i vari argomenti del corso nonché lo svolgimento della prova scritta. Durante lo svolgimento del corso è previsto lo sviluppo di un progetto didattico che gli studenti potranno svolgere in gruppi.

 

Appelli 2002/03

Appelli 2003/04


Prenotazione ESAME


Il docente riceve

Martedi dalle ore 9.30 alle11.30


 

DEIS-Area Informatica