Corso di Sistemi per l`Elaborazione delle Informazioni

Corso di Sistemi per l’Elaborazione delle Informazioni
Anno Accademico 2007-2008
Introduzione
Elementi di Architettura degli Elaboratori
Modello di Von Neumann
Il processore
Unità di calcolo e controllo
Memoria e gerarchia di memoria
L’intefaccia tra il processore e le periferiche (I/O)
Componenti di un sistema di elaborazione
Cos’è un Sistema Operativo
Ambienti di elaborazione
Processi e sincronizzazione dei processi
Introduzione
Concetto di processo
Stato di un processo
Concorrenza
Principi di concorrenza nei S.O.
Problema del Produttore-Consumatore
Race Condition
Problema della sezione critica
Mutua esclusione
Architetture di sincronizzazione
Semafori
Problemi tipici di sincronizzazione
Regioni critiche
Monitor
Stallo dei processi
Modello del sistema
Caratterizzazione delle situazioni di stallo
Metodi per la gestione delle situazioni di stallo
Prevenire le situazioni di stallo
Evitare le situazioni di stallo
Rilevamento delle situazioni di stallo
Ripristino da situazioni di stallo
Protezione
Ruolo della protezione
Possibili protezioni
Protezione della memoria
Domini di protezione
Associazione processo-dominio
Un esempio: Unix
Matrice d’accesso
Realizzazione della matrice d’accesso
Revoca dei diritti di accesso
Protezione basata sul linguaggio
Imposizione basata sul compilatore
Problematiche di distribuzione delle abilitazioni
Sicurezza
Problema della sicurezza
Autenticazione degli utenti
Minacce a programmi
Worm di Morris
Firewall
Rilevamento delle intrusioni
Tripwire
Principi di crittografia
SSL
Un esempio: Windows
Classificazione della sicurezza dei sistemi di calcolo
Thread, SMP e Microkernel
Thread
Il modello a thread
Operazioni sui thread
Sincronizzazione dei thread
Thread a livello utente
Thread a livello del kernel
Modelli di programmazione multithread
Chiamate del sistema fork ed exec
Cancellazione
Gestione dei segnali
Gruppi di thread
Dato specifici dei therad
Thread nel S.O. Windows
Thread nel S.O. Solaris
Thread nel S.O. Linux
Architetture sequenziali e parallele
Tassonomia di Flynn
SMP
Progettazione si un S.O. multiprocessore
Architettura del kernel
Microkernel
Vantaggi e svantaggi di un’architettura a microkernel
Sistemi con processori multipli
SMP UMA e NUMA
Tipi di S.O. multiprocessore
Multiprocessori master-slave
Multiprocessori simmetrici
Algoritmo ethernet di backoff esponenziale binario
Spinning e switching
Schedulazione dei multiprocessori
Sistemi multicomputer
Commutazione di pacchetto e commutazione di circuito
Software di comunicazione di basso livello
Software di comunicazione a livello utente
RPC
Schedulazione dei multicomputer
Sistemi distribuiti: un accenno
Case study: ipercubo
Rapporti con altre architetture
broadcasting, data sum, prefix sum, SIMD e MIMD shift
Sistemi Distribuiti
Definizione di sistema distribuito
Un sistema distribuito organizzato come middleware
Accessibilità delle risorse
Trasparenza
Apertura
Scalabilità
Distribuzione
Replica
Tipi di sistemi distribuiti:
Sistemi di calcolo distribuiti
Sistemi informativi distribuiti
Sistemi distribuiti pervasivi
Architettura di sistema
Stili architetturali
Architetture a livelli e basate sugli oggetti
Architetture centrate sui dati
Architetture basate sugli eventi
Architetture centralizzate
Architetture multilivello
Architetture decentralizzate
Sistemi peer-to-peer
Superpeer
Architetture ibride
Sistemi Operativi multimediali
File multimediali e qualità del servizio
Sistemi operativi e multimedia
Video on demand
Schedulazione dei processi multimediali
Paradigmi per file system multimediali
Posizionamento dei file
Meccanismi di cache
Schedulazione del disco per i multimedia
La stato della ricerca sui multimedia
ATTIVITA’ DI LABORATORIO E PROGETTUALE
TESTI DI RIFERIMENTO
Silberschatz, Galvin, Gagne
“Sistemi Operativi – Concetti ed esempi” (Settima edizione)
Pearson/Addison Wesley Ed.
A. S. Tanenbaum
“I moderni Sistemi Operativi”
Jackson Libri
A. S. Tanenbaum, M. Van Steen
“Sistemi Distribuiti”
Pearson/Prentice Hall Ed.
D. A. Patterson, J. L. Hennessy
“Struttura e progetto dei calcolatori”
Zanichelli
S. Ranka, S. Sahni
“Hypercube Algorithms”
Springer Verlag Pub.
T.H. Cormen, C. E. Leiserson, R. L. Rivest
“Introduction to Algorithms”
McGraw Hill