Sistemi Operativi in Tempo Reale: incidenti famosi E.Mumolo

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

Meccanismi di IPC Problemi classici di IPC
1 Introduzione ai calcolatori Parte II Software di base.
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Classe IV B A.s – 2013 Programma di Sistemi 5 ore (3 laboratorio) Docenti –Prof. Alberto Ferrari –Prof. Italo DallAre.
Tutte le componenti non facenti parte dellunità centrale, unità di I/O, memorie di massa, dispositivi come stampanti, scanner ed in generale tutte le apparecchiature.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Sistemi di Gestione dei Dati e dei Processi Aziendali Presentazione del corso.
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.
Comandi ai dispositivi di I/O + Si usano due metodi per mandare informazioni a un dispositivo: –Istruzioni specifiche di I/O –I/O mappato in memoria (memory.
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Scheduling in Linux (Kernel 2.6)
Sincronizzazione fra processi
Esercizi sulle architetture
INTRODUZIONE AI SISTEMI OPERATIVI
Risorse condivise e sovraccarichi nei sistemi in tempo reale E.Mumolo
L’organizzazione della comunicazione di I/O G. Vercelli
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Gestione dei processi Un sistema operativo multitasking è in grado di gestire più processi Un processo corrisponde ad un programma in esecuzione. Un programma.
Oggi parliamo di comete…
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
1.7 Risorse di sistema Comprendere le risorse di sistema Gestire le risorse di sistema.
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
IL MODEM Che cos’è? A cosa serve? Che problemi risolve? Come comunica?
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Concorrenza e Sincronizzazione di Thread e Processi
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Il Calcolatore Elettronico
MODULO 01 Il computer.
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
L' ARCHITETTURA DI VON NEUMANN
Il computer: struttura fisica e struttura logica
Progetto realizzato dagli alunni della classe 3a H
I vettore interruzioni
La schedulazione dei processi
Architettura del calcolatore
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
Processi e Thread Job: Insieme di processi che condividono quote e limiti. Processo: Contenitore di risorse (una lista di thread, una lista di handle e.
GESTIONE INTERRUPT CPU INTEL 8086
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Sistemi di Gestione dei Dati e dei Processi Aziendali
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Gli interrupt Quando una periferica richiede attenzione alla cpu genera un segnale detto di interrupt.
1 Gestione del Processore (Scheduling). 2 Scheduling dei processi È l’attività mediante la quale il sistema operativo effettua delle scelte tra i processi,
Gestione del Processore (Scheduling)
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
WATCHDOG TIMER E’ un oscillatore interno al  C, ma indipendente dal resto dei circuiti, il cui scopo è quello di rilevare eventuali blocchi della CPU.
National Aeronautics and Space Administration è l'agenzia governativa responsabile del programma spaziale degli Stati Uniti d'America e della ricerca aerospaziale.
Tassonomia dei Sistemi Distribuiti Antonio D'Angelo.
Gestione del processore (Scheduler)
Gestione dei dispositivi di I/O:
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
OSSERVAZIONE DI MARTE.
EVOLUZIONE DELL'OSSERVAZIONE DI QUESTO PIANETA
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 e thread in Windows 2000.
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTA’ DI INGEGNERIA ELETTRONICA
1 Processi e Thread Scheduling (Schedulazione). 2 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra.
Informatica Generale Marzia Buscemi
Moto dei pianeti nel sistema solare e leggi di Keplero
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Marte Presentazione su Marte Mario Torelli Alessio De Gregorio CFP GALDUS Marte è il quarto pianeta del Sistema Solare, quello che conosciamo meglio. È.
Aprile 2015Architettura degli Elaboratori - Mod. B - 2. Macchina di Mano1 Logica di controllo “hardwired”
Transcript della presentazione:

Sistemi Operativi in Tempo Reale: incidenti famosi E.Mumolo

Alcuni incidenti famosi in applicazioni spaziali dovuti a errori software Missione Pathfinder + Sojourner 6 mesi di viaggio 4 Luglio 1997 atterraggio su Marte 15 luglio 1997 il sistema si auto resetta per time-out Il robot cessa di funzionare 16 luglio 1997 ricerca delle cause 17 luglio 1997 viene identificato un evento di sovraccarico del Sistema Operativo che aveva una probabilità di verificarsi pari a 1/106 e che non era stato previsto

Missione Pathfinder Architettura del sistema

Missione Pathfinder Missione Pathfinder + Sojourner 6 mesi di viaggio 4 Luglio 1997 atterraggio su Marte 15 luglio 1997 il sistema si auto resetta per time-out Il robot cessa di funzionare Ogni reset provoca perdita di dati

Missione Pathfinder Caratteristiche del sistema Il SO realizza schedulazione pre-emptive dei thread le priorità vengono assegnate in base alla urgenza relativa dei thread Il BUS è un tipo di memoria comune usata per scambiare informazioni tra le differenti componenti del sistema Task: Alta priorità: gestione del bus BCT. Laccesso al bus viene sincronizzato con semafori binari (mutex) Media priorità: comunicazione radio SCT Bassa priorità: acquisizione di dati metereologici MT. Loperazione di pubblicazione dei dati avviene mediante acquisizione di un mutex, scrittura su bus e rilascio del mutex

Missione Pathfinder Problema di inversione di priorità Evento infrequente: interrupt che schedula il task a media priorità (comunicazioni) mentre il task ad alta priorità (gestione del bus) è bloccato su un mutex in attesa del bus (in attesa della acquisizione di dati meteo) Il task di comunicazione, a media priorità, ha maggiore priorità rispetto alla acquisizione dati blocco delle acquisizioni blocco del task di gestione del bus. Time-out del task di gestione del bus conclude che cè un grave errore del sistema reset

Missione Pathfinder Soluzione adottata: uso dellalgoritmo Priority inheritance Sistema operativo: luso o meno della priority inheritance viene introdotto mediante un flag: il S.O. Inviato su Marte aveva il flag settato ad off Il flag viene cambiato da terra

Missione Pathfinder Schedulazione senza conflitti Priorità

Missione Pathfinder Conflitto su una sezione critica PrioritàB

Missione Pathfinder Conflitto su una sezione critica Priorità B

Missione Pathfinder Protocollo Non Preemptive (NPP) Elimina le interruzioni nelle sezioni critiche Implementazione: quando un task entra in una sezione critica, la sua priorità viene aumentata al valore massimo PROBLEMA: i task ad alta priorità che non usano la sezione critica possono bloccarsi

Missione Pathfinder Schedulazione con NPP Priorità

Missione Pathfinder Priority Inheritance PrioritàB del task MT

Missione Mars Climate Orbiter MCO: per orbitare intorno a Marte e raccogliere informazioni metereologiche (11/12/98) 9 mesi di viaggio. Era stata programmata anche la possibilità di comunicare con MPL che doveva essere lanciato qualche mese più tardi Il 23 settembre 99 MCO interruppe le comunicazioni Probabilmente lorbita venne mancata per un errore nel calcolo dellangolo di ingresso. Langolo era calcolato da due grandezze fornite da due moduli software sviluppati da due gruppi diversi. Si scoprì che I due gruppi usavano diverse unità di misura: uno usava unità inglesi e laltro usava unità metriche. Il sistema aveva accumulato errori durante il viaggio e arrivò alla atmosfera con un angolo sbagliato. Quindi: causa dellincidente: inadeguata comunicazione tra diversi gruppi di sviluppo software e insufficiente test del sistema.

Lancio: 11 dicembre mesi di viaggio, 4 correzioni di rotta Arrivo il 23 settembre Manovre di immissione nellorbita Missione MCO

Missione MPL gennaio 99 tre sistemi spaziali: il Mars Polar Lander (MPL) e due sistemi Deep Space (DP2). MPL doveva atterrare su Marte, mentre DP2 doveva semplicemente raccogliere dati cadendo attraverso latmosfera. I tre sistemi dovevano sospendere le comunicazioni prima di entrare nella atmosfera e riprenderle dopo essere arrivati sul pianeta. La comunicazione non venne più ristabilita. Probabilmente la causa sono stati dei segnali elettromagnetici di disturbo acquisiti durante la discesa. disturbo interpretato erroneamente come atterraggio con conseguente spegnimento dei motori Non cera nessuna specifica di progetto per considerare disturbi di quel tipo, test successivi mostrarono che le cablature potevano acquisire disturbi di quel tipo Inoltre non erano stati predisposti test software per risolvere quel tipo di problema Quindi: causa dellincidente: progetto hardware/software inadeguato e insufficiente test del sistema.

Lancio: 3 gennaio mesi di viaggio, 4 correzioni di rotta Arrivo il 3 dicembre Apertura paracaduta Accensione razzi di frenatura Atterragio Comunicazone attraverso MCO Missione MPL

Missione Mars Rover Lancio: giugno 2003 Il robot Spirit usa una CPU R6000, 120 MB di Ram e 256 MB di disco a stato solido Il sistema operativo viene caricato completamente in RAM e il disco viene usato per memorizzare dati. Quando vengono creati abbastanza file, inizia la trasmissione verso la terra e eventualmente la ritrasmissione se alcuni dati sono mancanti. Quando la trasmissione termina i file vengono cancellati. 19 giorni dallatterraggio Spirit cercò di creare più file di quanti potessero essere memorizzati eccezione Spirit entra in un ciclo infinito di caricamento del sistema operativo ed eccezione. Spirit interrompe le comunicazioni Ipotizzando una mancanza di spazio sul disco viene inviato uno script che cancella circa 1000 file, risolvendo il problema