Sistemi in tempo reale

 36.00 IVA assolta

Autori: Giorgio C. Buttazzo
2006, 404 pagine, formato 17x24, edizione 3
ISBN: 88-371-1640-3
COD: 1640
Argomento: Informatica

Descrizione

Struttura del volume: Il Capitolo 1 presenta un’introduzione generale ai sistemi operativi in tempo reale, indicando i possibili settori applicativi. Sono poi descritte le caratteristiche principali che distinguono l’elaborazione in tempo reale dagli altri tipi di elaborazione e vengono discusse le cause principali che determinano la prevedibilità di un sistema. Il Capitolo 2 descrive in modo formale il problema della schedulazione di un insieme di processi di calcolo che condividono un singolo processore. Viene presentata una classificazione dei diversi algoritmi di schedulazione proposti in letteratura, e sono descritte alcune metriche per valutare le prestazioni di un algoritmo. Il capitolo si conclude con l’illustrazione di alcuni esempi di schedulazione anomali, in cui si dimostra che non sempre un aumento della potenza di calcolo porta ad un miglioramento delle prestazioni. Il Capitolo 3 presenta alcuni algoritmi di schedulazione classici, utilizzati in sistemi di tipo non real-time. Tali algoritmi sono stati inseriti principalmente per mostrarne l’inadeguatezza nel trattare processi con vincoli temporali. Il Capitolo 4 introduce alcuni algoritmi per sistemi real-time applicabili alla gestione di processi con vincoli temporali di tipo aperiodico. Per ciascun algoritmo vengono descritte le ipotesi di validità, le regole di funzionamento, le proprietà formali, le prestazioni, la complessità implementativa, e uno o più esempi illustrativi. Il Capitolo 5 tratta la schedulazione di processi real-time con vincoli temporali di tipo periodico. In particolare, vengono presentati in modo approfondito quattro algoritmi, noti in letteratura come Timeline Scheduling, Rate Monotonic, Earliest Deadline First e Deadline Monotonic. Per ciascun algoritmo sono descritte le ipotesi di validità, le caratteristiche, le proprietà formali, le prestazioni, la complessità implementativa e uno o più esempi illustrativi. Il Capitolo 6 affronta il problema della schedulazione di un insieme di processi con caratteristiche temporali miste, in cui alcuni processi sono di tipo periodico hard ed altri di tipo aperiodico soft. Al fine di migliorare i tempi di risposta delle attività aperiodiche, mantenendo la schedulabilità dei processi periodici, sono presentati diversi algoritmi basati prevalentemente sull’uso di un server periodico dedicato alla gestione dei processi aperiodici. In questo capitolo viene esaminato il caso in cui i task periodici ed il server sono schedulati in base ad una priorità fissa. Il Capitolo 7 presenta lo stesso problema del capitolo precedente, ma nel caso in cui i task periodici ed il server sono caratterizzati da una priorità dinamica. Nel Capitolo 8 sono esaminati gli algoritmi di scheduling in grado di gestire un insieme di processi real-time caratterizzati da vincoli su risorse condivise. Il problema viene risolto mediante l’uso di particolari protocolli di accesso alle risorse condivise che evitano le attese indefinite e consentono di limitare i tempi di bloccaggio sulle risorse mutamente esclusive. Il Capitolo 9 è dedicato al problema della gestione dei sovraccarichi computazionali, ossia quelle situazioni critiche in cui la richiesta di calcolo inoltrata al sistema eccede la disponibilità del processore, e quindi non tutti i processi possono terminare entro i vincoli temporali specificati. In questo capitolo vengono definite delle nuove metriche per la valutazione delle prestazioni e vengono presentati dei nuovi algoritmi per la schedulazione dei processi. Il Capitolo 10 illustra alcuni meccanismi di scambio di messaggi peculiari per l’elaborazione in tempo reale, in grado cioè di contenere i tempi di comunicazione tra processi entro un valore massimo limitato. Il Capitolo 11 presenta le problematiche di progetto di un sistema operativo real-time. In particolare sono descritti gli stati aggiuntivi, le strutture dati, i meccanismi interni e i servizi di nucleo necessari alla gestione di processi con vincoli temporali. Viene poi discusso il problema dell’overhead introdotto in un sistema real-time. Il capitolo si conclude con la presentazione di un’applicazione di controllo, in cui si mostra come organizzare il software e come calcolare le deadline dei processi critici. Il Capitolo 12, infine, illustra le caratteristiche di alcuni sistemi operativi real-time esistenti, focalizzando l’attenzione sulle architetture hardware su cui sono sviluppati, sui tipi di processi che sono in grado di gestire, sui meccanismi principali del nucleo, e sugli eventuali strumenti di sviluppo disponibili. Il libro si conclude con una lista di riferimenti bibliografici e con un glossario dei termini specifici utilizzati in questo campo.

Giorgio C. Buttazzo: è Professore Ordinario in Ingegneria Informatica presso la Scuola Superiore Sant’Anna di Pisa, dove svolge attività di ricerca nel settore dei sistemi in tempo reale, della robotica avanzata e delle reti neuronali. Nel 1987 ha conseguito il titolo di Master in Computer Science presso l’Università della Pennsylvania a Philadelphia. Dal 2001 coordina 10 università europee nell’ambito della Rete di Eccellenza ARTIST sul tema dei sistemi real-time embedded adattivi. È autore di 6 libri e oltre 200 pubblicazioni nei settori dei sistemi real-time, della robotica e delle reti neuronali. Per la rilevanza dei risultati ottenuti nella ricerca, il Prof. Buttazzo è stato nominato Senior Member dell’IEEE.