Architettura dei sistemi di elaborazione

Francesco Baiardi, Andrea Tomasi, Marco Vanneschi

Architettura dei sistemi di elaborazione

II. Sistemi operatori, multiprocessori, sistemi distribuiti

Edizione a stampa

40,50

Pagine: 400

ISBN: 9788820432010

Edizione: 4a edizione 1995

Codice editore: 1385.1.2

Disponibilità: Discreta

Rivolto a chi intende approfondire lo studio dell'architettura dei sistemi di elaborazione dal punto di vista sia dell'analisi che del progetto, affronta il tema in modo organico, coprendo i livelli della organizzazione firmware, della macchina intermedia, del sistema operativo e dell'interfaccia verso le applicazioni.

Le architetture studiate vanno da quelle uniprocessore e con componenti LSI/VLSI a quelle parallele e ai sistemi distribuiti.

In linea con i risultati scientifici e industriali degli ultimi anni, l'approccio seguito enfatizza gli aspetti della progettazione strutturata e dell'integrazione hardware-software. Vengono fornite le basi teoriche e metodologiche e le tecniche per l'analisi e il progetto ai vari livelli di astrazione, studiando le caratteristiche comuni a ogni livello, le interrelazioni tra livelli comuni e le possibilità di ottimizzare le prestazioni complessive di interesse in rapporto al costo tecnologico e di sviluppo.

Il testo consta di sei parti suddivise in due volumi. La prima definisce i concetti e le metodologie fondamentali per un approccio strutturato all'analisi ed al progetto. La secondo tratto dell'architettura al livello firmware, con riferimento a calcolatori con limitato grado di parallelismo ed a sistemi a microcalcolatori LSI/VLSI. La terza studia le architetture parallele per medi, grandi e supercalcolatori, nonché le architetture non-von Neumann.

La quarto parte affronta la strutturazione ed il progetto dei sistemi operativi in termini di modelli di concorrenza, meccanismi e politiche di gestione delle risorse e loro valutazione, enfatizzando le interrelazioni con gli altri livelli del sistema e con l'ingegneria del software. La quinta tratta dell'architettura e progettazione di sistemi di tipo multiprocessore e multicalcolatore. La sesta è relativa ai sistemi distribuiti ed alle reti di calcolatori, approfondendo gli aspetti del sistema operativo distribuito, delle metodologie e degli algoritmi per l'elaborazione in ambiente decentralizzato.

Usato in ambito universitario, il testo permette di coprire le esigenze di più moduli didattici, sia di base che specialisti, nei curricula in Scienze dell'informazione ed Ingegneria.

PARTE IV - PROGETTO DI SISTEMI OPERATIVI

NUCLEO DEL SISTEMA OPERATIVO
• Progettazione mediante linguaggi concorrenti
• Struttura del nucleo di un sistema
* Schedulazione a basso livello
* Interazioni tra i processi
* Gestione delle risorse
• Un modello generale per l'implementazione del supporto
* Linguaggio ad ambiente globale
* Linguaggio ad ambiente locale
* Relazioni tra il livello architetturale ed i costruiti di cooperazione

MODULARITA' E MODIFICABILITÀ
• Modularità
* Definizione dei moduli di un sistema
* Modularità di implementazione
• Modificabilità
* Progetto di una famiglia di sistemi
* Modifiche al supporto
* Portabilità di un sistema

PARALLELISMO
• Decomposizione in parallelo di processi
* Modello completamente parallelo
* Modello pipeline
* Modelli misti
* Gestione centralizzata
* Gestione successiva
• Riduzione del sincronismo tra componenti

PROTEZIONE E TOLLERANZA Al GUASTI
• Meccanismi per la protezione delle risorse
* Protezione in un sistema ad ambiente globale





* Ambiente chiuso e privilegio minimo
* Gestione delle risorse in assenza di effetti collaterali e verifica delle decisioni in modo indipendente da errori
* Protezione in un sistema a processi comunicanti
* Ambiente chiuso e privilegio minimo
* Gestione delle risorse in assenza di effetti collaterali
* Verifica delle decisioni indipendente da errori
* Protezione di risorse gestite dal nucleo
* Controlli di consistenza mediante i meccanismi di protezione
• Meccanismi e politiche per la tolleranza ai guasti
* Costrutti linguistici per la rilevazione degli errori
* Politiche di forward recovery
* Politiche di backward recovery
* Memoria stabile
* Il costrutto recovery block
* Backward recovery di programmi concorrenti
* Azioni atomiche
* Politiche per l'aggiornamento della memoria stabile
* Integrazione di forward e backward recovery
• Approcci uniformi alla sincronizzazione ed alla tolleranza ai guasti

POLITICHE PER LA GESTIONE DELLE RISORSE
• Caratteristiche generali delle politiche di gestione
* Gestione di un insieme di risorse
* Fairness delle politiche di gestione
* Adozione di politiche con prerilascio
• Politiche per la gestione della memoria
* Paginazione
* Segmentazione
* Segmentazione e paginazione
* Deallocazione implicita della memoria
* Gestione della memoria virtuale
* Gestione della memoria secondaria
• Gestione degli archivi
* Archivi non strutturati
* Archivi strutturati ad albero
* Archivi strutturati a grafo
• Gestione dei dispositivo di ingresso/uscita
• Gestione ad alto livello del processare
* Funzionalità e indirizzamento delle risorse
• Bibliografia sulla parte IV
• Esercizi sulla parte IV

PARTE V - SISTEMI A PROCESSORI MULTIPLI

MULTIPROCESSORI A PROCESSORI ANONIMI
• Architettura firmware
* Organizzazione di base
* Organizzazioni di memoria
* Memoria comune
* Uso di memorie cache
* Ingresso-uscita
• Valutazione della performance
* Conflitti sui moduli di memoria
* Software lockout
* Uso di memorie cache
• Sistema operativo
* Nucleo
* Schedulazione a basso livello
* Gestione delle interruzioni
* Altri supporti hardware-firmware
* Sincronizzazione tra istanze di nucleo
* Operazioni lock, unlock
* Schemi di implementazione
* Scheduling ad alto livello
* Tolleranza ai guasti

MULTIPROCESSORI A PROCESSORI DEDICATI
• Architettura firmware
* Organizzazione di base
* Organizzazioni specifiche
* Multiprocessori e architettura di I/O
* Un esempio di sistema in tempo reale
• Valutazione della performance
* Scalabilità e performance
* Valutazione di algoritmi paralleli
• Sistema operativo
* Nucleo
* Primitive ad ambiente globale
* Primitive ad ambiente locale
* Unità di comunicazione e «processori di nucleo»
* Tolleranza ai guasti

MULTICALCOLATORI
• Calcolatori distribuiti

• Sistemi VLSI a parallelismo massiccio
* Microcomputer array
* Computational array
* Logic-enhanced memory

• Bibliografia sulla parte V
• Esercizi sulla parte V

PARTE VI - SISTEMI DISTRIBUITI

CARATTERISTICHE GENERALI E MODELLI
• Distribuzione e decentralizzazione
* Reti di calcolatori e sistemi distribuiti
* Sistemi completamente distribuiti
* Forme di gestione decentralizzata
• Modelli di architettura di rete
* Architettura a presentazione di elementi attivi
* Architettura utente-servente
* Architettura a pool di CPU
• Modelli di sistema operativo distribuito
* Struttura generale del sistema operativo distribuito
* Modelli metasistema (NOS) e nuovo sistema (DOS)
* Modello metasistema
* Modello nuovo sistema

STRUTTURE E PROTOCOLLI PER LA COMUNICAZIONE REMOTA
• Sottorete di comunicazione
* Organizzazioni punto-a-punto
* Organizzazioni a diffusione
* Organizzazioni miste
• Protocolli di comunicazione e di elaborazione
* Livelli di protocollo
* Aspetti di progetto nei protocolli di comunicazione
* Controllo degli errori
* Controllo del flusso
* Identificazione
* Modello OSI
• Comunicazioni tra nodi
* Controllo di canali fisici
* Tecniche di trasmissione
* Commutazione di circuito
* Commutazione di messaggio
* Commutazione di pacchetto
* Circuiti virtuali e datagram
• Esempi di reti locali
* Ethernet
* Token Ring
* Token Bus
• Comunicazioni remote tra processi
* Processi intermediari
* Semantica delle comunicazioni
* Altri costruiti concorrenti
* Controlli di consistenza
* Canali di comunicazione dei processi CR
* Tecniche di trasformazione delle primitive
* Trasformazione a tempo di compilazione
* Trasformazione a tempo di esecuzione
* Trasformazione con gestione delle eccezioni
* Comunicazione implicita
* Processori di comunicazione remota
• Identificazione di oggetti
* Definizioni ed obiettivi
* Nomi orientati all'utente
* Identificatori unici di sistema

SISTEMI OPERATIVI DISTRIBUITI
• Modello metasistema (NOS)
* Schema di principio
* Identificazione e comunicazioni remote
* Esecuzione di servizi in rete
* Virtualizzazione dei servizi
* Impatto delle caratteristiche dei LOS
* NOS a processi
* Supporto a tempo di esecuzione distribuito
* Interfaccia NOS-LOS e NOS-applicazioni
* Virtualizzazione dei servizi
* Identificazione di oggetti
• Modello nuovo sistema (DOS)
* Architettura a presentazione di elementi attivi
* Strumenti di sviluppo software
* Supporto a tempo di esecuzione distribuito
* Schema di identificazione
* Gestione globale delle risorse
* Supporti architetturali
* Allocazione distribuita di risorse
* Architettura a pool di CPU
* Architettura utente-servente

ALGORITMI DISTRIBUITI
• Algoritmi di consenso
* Memoria stabile distribuita
* Azioni atomiche distribuite
* Consistenza interattiva
• Gestione di copie multiple
* Algoritmi con votazione
* Votazione sincrona
* Votazione asincrona
* Votazione a maggioranza
* Algoritmi basati su token circolanti
* Algoritmi basati su timestamp
• Algoritmi di instradamento
• Una soluzione generale per la definizione di algoritmi distr

Collana: Scienze e tecnologie informatiche

Livello: Textbook, strumenti didattici