Politecnico di Milano © 2001 William Fornaciari La tolleranza ai guasti Software tollerante ai guasti Docente: William Fornaciari Politecnico di Milano.

Slides:



Advertisements
Presentazioni simili
Meccanismi di IPC Problemi classici di IPC
Advertisements

Tecnologia delle basi di dati: Strutture fisiche di accesso
1 Introduzione ai calcolatori Parte II Software di base.
Capitolo 3 Risorse e Stallo 3.1. Risorse 3.2. Introduzione
Sicurezza e concorrenza nelle basi di dati
Gestione Input Output A. Ferrari.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
Il Sistema Operativo.
Elaboratore e Sistemi Operativo
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
E.Mumolo. DEEI Reti di calcolatore e Applicazioni Telematiche – Livello Dati Lezioni di supporto al corso teledidattico E.Mumolo. DEEI.
G. Mecca – – Università della Basilicata Basi di Dati Tecnologia di un DBMS: Concorrenza e Affidabilità Concetti Avanzati versione 2.0.
Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS.
5-1 Protocolli ad accesso multiplo Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
Memoria virtuale Memoria virtuale – separazione della memoria logica dell’utente dalla memoria fisica. Solo alcune parti di un programma devono trovarsi.
Operating System Concepts
Realizzazione del file system
La Modifica dei Dati in una Base Dati La modifica dei dati contenuti allinterno di una base dati è unoperazione delicata Infatti, ogni potenziale problema.
Esercizio 1 Si consideri un canale via satellite della capacità di 2 Mb/s. Considerando che il tempo di propagazione attraverso un satellite geostazionario.
1 14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dellutente? Introdurremo i concetti di verifica e validazione.
Esercizio 1 Due collegamenti in cascata, AB e BC hanno una velocità rispettivamente di 100 Mb/s e 50 Mb/s e tempi di propagazione pari a 1 ms e 1.2 ms.
Reti di Calcolatori Domande di riepilogo Terza Esercitazione
File.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Risorse e Stallo.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Struttura dei sistemi operativi (panoramica)
TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.
Unità Didattica 2 I Linguaggi di Programmazione
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Reti di Calcolatori IL LIVELLO RETE.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Le transazioni Itis Max Planck.
I File.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Transazioni.
Informatica per medici
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
1 Esercizio 1 Un router riceve da un collegamento A lungo 10 km a 100 Mb/s e instrada i pacchetti ricevuti, lunghi 1000 bit verso una linea duscita B a.
Inserire il CDROM CygWin nel lettore, aprite la directory cyg e lanciare in esecuzione (con un doppio click del pulsante sinistro del mouse sulla relativa.
STRUTTURA GENERALE DI UN ELABORATORE
Il modello di riferimento OSI
Il Sistema Operativo (1)
AICA Corso IT Administrator: modulo 4 AICA © EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Risoluzione dei Problemi e Analisi del Traffico.
Basi di Dati e Sistemi Informativi
File system distribuito transazionale con replicazione
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Threads.
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
1 Il Buffer Cache Unix (Bach: the Design of the Unix Operating System (cap: 3)
Reti Stratificazione del Protocollo. 2 Andrea Asta I protocolli oSpecificano e Rendono Comprensibile la comunicazione oNon è necessario conoscere.
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
1 Sistemi e Tecnologie della Comunicazione Lezione 13: data link layer: protocolli go-back-n e selective reject; esempi: HDLC, PPP.
1 Esercitazione finale per il corso di Sistemi Operativi (A.A. 2001/2002)
Complementi sul controllo d’errore (parte III). Selective Repeat (richiesta esplicita) Come nello schema Idle RQ, per velocizzare la ritrasmissione di.
Tipo Documento: unità didattica 4 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Controllo di flusso TCP. Elementi base del flusso TCP (1) Comunicazione punto-punto Un mittente, un destinatario. Flusso di byte affidabile Flusso suddiviso.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
Politecnico di Milano © 2001 William Fornaciari La tolleranza ai guasti Concetti generali Docente: William Fornaciari Politecnico di Milano
1 Metodo I metodi sono uno strumento che i programmatori usano per strutturare i programmi, sia per renderli più facili da capire che per permettere il.
Raccogliere informazioni ALCUNE DOMANDE FONDAMENTALI È stato modificato qualche componente HW o SW? Il sintomo si presenta regolarmente o ad intermittenza?
Anno Architetture dati - DBMS Centralizzati Recovery management Carlo Batini.
Vengono detti memorie di massa tutti i supporti (dischi e nastri) su cui vengono registrati dati, documenti e programmi che si vogliono conservare, sono.
Transcript della presentazione:

Politecnico di Milano © 2001 William Fornaciari La tolleranza ai guasti Software tollerante ai guasti Docente: William Fornaciari Politecnico di Milano

La tolleranza ai guasti: Software FT© 2001 William Fornaciari- 2 - Sommario N_version Programming Recovery Block La tolleranza ai guasti nei sistemi operativi La tolleranza ai guasti nelle basi di dati La tolleranza ai guasti nelle reti

La tolleranza ai guasti: Software FT© 2001 William Fornaciari- 3 - N-Version Programming Corrisponde a NMR per HW tollerante ai guasti N versioni sviluppate indipendentemente e compilate con compilatori diversi Se N=2 possibile la sola individuazione dellerrore. La correzione non è intrinseca Se N 3 è possibile individuazione e correzione mediante voting Definire checkpoint di controllo sulle uscite Non sempre utilizzabile se sono possibili diversi output corretti e accettabili

La tolleranza ai guasti: Software FT© 2001 William Fornaciari- 4 - Recovery Blocks Corrisponde alla ridondanza dinamica per HW tollerante ai guasti Consta di tre elementi SW. Routine primaria: esegue routine critica Test di accettazione: controlla le uscite della routine Routine alternativa: realizza la stessa funzione della routine primaria. In pseudocodice: ensure by else by else error

La tolleranza ai guasti: Software FT© 2001 William Fornaciari- 5 - La tolleranza ai guasti nei sistemi operativi Un possibile schema: tre tabelle che danno classificazione, localizzazione e azione da intraprendere per ogni errore: valore errore (errore interno, errore CRC, time-out, …) valore locazione(rete, memoria, disco, …) valore azione (aspetta e riprova, ignora errore, termina immediatamente, …) In ambiente monotasking (DOS), girando un solo task alla volta la gestione è particolarmente semplice In multitasking può ad esempio succedere che si verifichi un errore di I/O anche se nessun processo lanciato dallutente sta facendo I/O

La tolleranza ai guasti: Software FT© 2001 William Fornaciari- 6 - La tolleranza ai guasti nei sistemi operativi Esempio: OS/2 Sfrutta le tre tabelle appena viste Caso di mancato inserimento di un dischetto. Può essere che nessun processo stia facendo I/O, ma che il buffering stesso di OS/2 generi lerrore Gira in background un demone chiamato Hard Error Daemon, che monitora questo tipo di errori In caso di Hard Error, si attiva il demone che: fa partire un processo che visualizza lerrore e attende input blocca il processo responsabile, in attesa di risposta dà la risposta al kernel che riattiva il thread incriminato. Se lerrore si ripresenta, si reitera tutto

La tolleranza ai guasti: Software FT© 2001 William Fornaciari- 7 - La tolleranza ai guasti nei sistemi operativi Esempio: OS/2 Valore errore CodiceDescrizione 1OUTRESRisorsa esaurita 2TEMPSITSituazione temporanea 3AUTHAutorizzazione fallita 4INTRNErrore interno 5HRDFAILErrore hardware 6SYSFAILErrore del sistema 7APPERRProbabile errore dellapplicazione 8NOTFNDOggetto non trovato 9BADFTMErrore del formato dati o della chiamata 10LOCKEDRisorsa o dato bloccato 11MEDIAErrore dato CRC 12ALREADYrisorsa/azione già intrapresa/fatta/esistente 13UNKNon classificato 14CANTAzione impossibile 15TIMETime-out

La tolleranza ai guasti: Software FT© 2001 William Fornaciari- 8 - La tolleranza ai guasti nei sistemi operativi Esempio: OS/2 Valore azione CodiceDescrizione 1RETRYRitentare immediatamente 2DLYRETAspetta e riprova 3USERErrore dellutente: ottenere nuovi input 4ABORTTermina in modo normale 5PANICTermina immediatamente 6IGNOREIgnora lerrore 7INTRETRitenta dopo lintervento dellutente Valore locazione CodiceDescrizione 1UNKSconosciuto 2DISKDisco di risorsa ad accesso casuale 3NETRete 4SERVDEVPeriferica o risorsa ad accesso seriale 5MEMMemoria

La tolleranza ai guasti: Software FT© 2001 William Fornaciari- 9 - La tolleranza ai guasti nei sistemi operativi Esempio: MacOS Il Gestore di errori classifica lerrore secondo tabelle simili a quelle di OS/2 Il Gestore visualizza una finestra di errore con le opzioni stop e resume selezionando stop il Gestore termina il processo che ha generato lerrore selezionando resume il Gestore: recupera lo stato precedente del sistema invoca la procedura di resume, delegata allapplicazione Il Gestore è normalmente chiamato dal sistema operativo, non dallapplicazione.

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nei sistemi operativi Esempio: Unix Esiste una tabella dei segnali, non tutti riguardanti la FT, che informano un processo di un evento capitato. Generati da: hardware kernel altri processi utente Lambiente del processo contiene le informazioni su come il processo deve reagire al segnale: azione di default (di solito terminazione) ignorare il segnale catch del segnale (si invoca un Gestore dei segnali)

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nei sistemi operativi Esempio: Unix SegnaleTipoDescrizione 1SIGHUPHang-up 2SIGINTInterrupt 3SIGQUITFine 4SIGILLIstruzione illegale 5SIGTRAPTrap di traccia 6SIGIOTIstruzione IOT 7SIGEMTIstruzione EMT 8SIGFPTErrore di virgola mobile 9SIGKILLTerminazione 10SIGBUSErrore del bus 11GIGSEGVViolazione di segmento 12SIGSYSArgomento sbagliato nella chiamata di sistema 13SIGPIPEscrittura su un pipe, ma nessuna lettura 14SIGALARMErrore nel clock 15SIGTERMFine del software 16SIGUSR1Segnale utente 1 17SIGUSR2Segnale utente 2 18SIGCLDMorte di un processo figlio 19SIGPWRErrore di alimentazione

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nelle basi di dati Transizioni Si definisce transazione ununità indivisibile di istruzioni, racchiusa tra i due comandi: Begin Transaction (bot) e End Transaction (eot). Il codice compreso tra BOT ed EOT deve godere di: atomicità: in caso di errore si deve ripristinare lo stato preesistente allinizio della transazione stessa (undo) consistenza: lesecuzione di una transazione non deve violare i vincoli di integrità della base di dati isolamento: lesecuzione della transazione deve essere indipendente dallesecuzione di altre transazioni persistenza: leffetto di una transazione andata a buon fine non deve perdersi (redo) Comandi speciali: commit (tutto OK); abort (errore)

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nelle basi di dati Controllo di affidabilità: il log I record del log possono essere di due tipi: Record di transazione: Begin: riporta lidentificativo della transazione. B(T) Update: riporta lidentificativo della transazione, lidentificativo delloggetto su cui avviene lupdate, e i suoi valori prima e dopo la modifica. U(T,O,BS,AS) Insert: come update, senza BS. I(T,O,AS) Delete: come update, senza AS. D(T,O,BS) Commit: riporta lidentificativo della transazione. C(T) Abort: riporta lidentificativo della transazione. A(T)

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nelle basi di dati Controllo di affidabilità: il log Record di sistema: Dump: copia completa della base di dati, eseguita in mutua esclusione con altre transazioni. DUMP Checkpoint: registra periodicamente le transazioni attive. CKPT(T 1, T 2, …, T n ) Modello fail-stop in caso di guasto: funzionamento normale procedura di ripresa stop fail fine recovery boot fail

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nelle basi di dati Controllo di affidabilità: warm restart Si attua quando si è persa la sola memoria volatile Consiste in quattro operazioni Accesso al log dal fondo, risalendo al primo CKPT Costruzione di due insiemi di transazioni da rifare (REDO, inizialmente vuoto) e disfare (UNDO, inizialmente riempito con le T k del record CKPT). ripercorrendo in avanti il log, va in UNDO ogni transazione T s di cui è presente il begin; va in REDO ogni transazione T r di cui è presente il commit. Si risale, di norma oltre al checkpoint, alla prima azione della transazione più vecchia dei due insiemi. Si applicano undo e redo sulle transazioni dei due insiemi seguendo lordine del log.

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nelle basi di dati Controllo di affidabilità: cold restart Si attua quando, oltre alla memoria volatile, si è persa anche parte della memoria di massa Consiste in tre operazioni Accesso al log dal fondo, risalendo al primo DUMP, e si ricopia lintera base di dati (o la parte deteriorata) Si ripercorre in avanti il log riapplicando sia tutte le azioni sulla base di dati che i commit e gli abort, riportandosi nella situazione antecedente al guasto Si effettua un warm restart

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nelle reti Controllo e correzione possono teoricamente farsi a qualunque livello della pila ISO/OSI) Il primo livello (livello fisico) è attualmente molto affidabile, e ci si concentra sui livelli più alti Si è spostata lattenzione dal byte al bit, per semplificare i protocolli La correzione dellerrore viene fatta mediante ARQ (Automatic Repeat reQuest). Ne vediamo tre categorie: Stop and Wait Go back n Selective reject

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nelle reti Stop and Wait Il più semplice protocollo FT nelle reti Il trasmettitore, dopo linvio di un pacchetto, aspetta un riscontro dal ricevente ACK se il pacchetto è stato ricevuto correttamente NAK se il ricevente ha rilevato un errore CRC Se non il trasmettitore non riceve riscontro entro un certo tempo (time-out), il pacchetto viene inviato nuovamente Per evitare ripetizioni, i pacchetti si possono numerare, purchè la numerazione trovi posto nellheader aggiunto dal protocollo al pacchetto

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nelle reti Go back n Basato sul protocollo Stop and Wait Risolve le lunghe attese del protocollo precedente, nel caso di reti con tempi di propagazione molto grandi Consente la ritrasmissione successiva di n pacchetti consecutivi a partire dallultimo consegnato correttamente. Si può operare in full-duplex inserendo ACK e NAK negli header di ogni pacchetto (piggy backing) o mischiandoli con i pacchetti di dati

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nelle reti Selective reject Basato sul protocollo Go back n Il ricevitore conserva in un buffer tutti gli n pacchetti ricevuti correttamente, ma fuori sequenza per un pacchetto trasmesso erroneamente Il ricevente informa il trasmittente circa quali pacchetti sono arrivati bene e quali no Rispetto a Go back n: Si introduce un overhead maggiore e si rendono necessarie strutture di memoria aggiuntive (buffer) Si risparmia tempo tempo in ritrasmissioni

La tolleranza ai guasti: Software FT© 2001 William Fornaciari La tolleranza ai guasti nelle reti Protocolli esistenti Start Stop: orientato al byte, usato su vecchi terminali asincroni BSC: orientato al byte, di IBM. Stop and Wait DDCMP: orientato al byte, distingue i pacchetti di dati da quelli di controllo e servizio. Go Back n HDLC: orientato al bit, è la base dei protocolli commerciali, standard ISO. Go back n e Selective Reject TCP di 4° livello: insieme al protocollo IP di 3° livello è usato in ambito internet. Go back n Livelli MAC e LLC IEEE 802: utilizzati per laccesso multiplo in reti locali