1 12. Progettare Sistemi Real-Time Progettare sistemi software il cui comportamento è condizionato da vincoli di tempo Mostreremo perché i sistemi real-time.

Slides:



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

Meccanismi di IPC Problemi classici di IPC
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
1 Introduzione ai calcolatori Parte II Software di base.
Capitolo 3 Risorse e Stallo 3.1. Risorse 3.2. Introduzione
Il Sistema Operativo.
File System Cos’è un File System File e Directory
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
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.
Frontespizio Economia Monetaria Anno Accademico
1 Tavolo del Patto per la crescita intelligente, sostenibile e inclusiva Il ricorso agli ammortizzatori sociali nei territori colpiti dagli eventi sismici.
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Scheduling della CPU Concetti fondamentali Criteri di scheduling
Scheduling della CPU Concetti di base Criteri di scheduling
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
1 14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dellutente? Introdurremo i concetti di verifica e validazione.
2. INGEGNERIA DI SISTEMA Il software è inutile a meno che non sia combinato con componenti hardware per formare un “sistema” Introdurremo il concetto di.
Algoritmo di Ford-Fulkerson
Risorse condivise e sovraccarichi nei sistemi in tempo reale E.Mumolo
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Corso di Informatica (Programmazione)
eliana minicozzi linguaggi1a.a lezione2
Risorse e Stallo.
Gestione dei processi Un sistema operativo multitasking è in grado di gestire più processi Un processo corrisponde ad un programma in esecuzione. Un programma.
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
Scheduling in GrADS Il progetto GrADS (Grid Application Development Software) ha lo scopo di semplificare lo sviluppo di unapplicazione Grid. Tra le funzionalità
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario.
DHTML: Modello degli Eventi 1. 2 Sommario Introduzione Evento onclick Evento onload Gestione errori con onerror Gestione mouse con levento onmousemove.
FONDAMENTI DI INFORMATICA III A2-1 CARATTERISTICHE E MODELLIZZAZIONE DEL LAVORO DUFFICIO Argomento 2 CARATTERISTICHE E MODELLIZZAZIONE DEL LAVORO DUFFICIO.
Sistemi Operativi SCHEDULING DELLA CPU.
Sistemi Operativi GESTIONE DEI PROCESSI.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Introduzione ai Sistemi Operativi
Strutture di controllo in C -- Flow Chart --
Analisi di Immagini e Dati Biologici
Contatore: esempio di circuito sequenziale
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Metodi di soluzione guasti nel volo in formazione di velivoli autonomi Candidato: Simone Di Nisio Relatori: Prof. M.Innocenti Prof. A. Balestrino.
Architettura degli elaboratori
La schedulazione dei processi
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
14 marzo 2002 Avvisi:.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
1 Progettazione Architetturale. 2 Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
I processi.
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)
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
10 azioni per lo scheduling su Grid Uno scheduler per Grid deve selezionare le risorse in un ambiente dove non ha il controllo diretto delle risorse locali,
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Gestione del processore (Scheduler)
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.
Informatica Generale Marzia Buscemi
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Monitoring applicativo SaaS Tutorial 30/09/2015. Finalità Il monitoraggio applicativo per verificare, quantificare e controllare l’automazione introdotta.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

1 12. Progettare Sistemi Real-Time Progettare sistemi software il cui comportamento è condizionato da vincoli di tempo Mostreremo perché i sistemi real-time sono progettati come insieme di processi concorrenti che cooperano Mostreremo lutilità dei modelli di stato nella progettazione di sistemi real-time Descriveremo la piattaforma di supporto richiesta da questi sistemi Introdurremo architetture generiche per alcuni tipi di sistemi real-time

2 Sistemi Real-time Sistemi che effettuano il monitoraggio o il controllo del loro ambiente Sono sempre associati a dispositivi hardware Sensori: Raccolgono dati dallambiente del sistema Attuatori: Modificano (in qualche modo) lambiente del sistema Il fattore tempo è critico: I sistemi real-time devono rispondere entro un tempo specificato

3 Hard/Soft Real-Time Systems Un sistema real-time è un sistema il cui corretto funzionamento dipende dai risultati prodotti dal sistema e dal tempo necessario per produrre tali risultati. Un sistema real-time soft è un sistema le cui operazioni subiscono un degrado se i risultati non sono prodotti nei tempi specificato Un sistema real-time hard è un sistema in cui le operazioni sono errate se i risultati non sono prodotti nei tempi specificati

4 Sistemi a Stimolo/Risposta Dato uno stimolo, il sistema deve produrre una risposta entro un tempo specificato Stimoli periodici: stimoli che si verificano a intervalli di tempo predicibili Ad esempio un sensore che rileva la temperatura dellambiente può essere consultato 10 volte al secondo Stimoli aperiodici: stimoli che si verificano a tempi non predicibili Per esempio, un black-out elettrico può causare uninterruzione che deve essere elaborata da un sistema di shut-down automatico.

5 Architettura di un sistema Real-Time Larchitettura del sistema deve permettere switch veloci tra i gestori degli stimoli I vincoli di tempo legati ai diversi stimoli possono essere diversi; un semplice loop sequenziale può non essere adeguato I sistemi real-time sono di solito progettati come processi cooperativi con una centralina che controlla questi processi

6 Architettura di un sistema real-time

7 Elementi del sistema Processi di controllo dei sensori Raccolgono informazioni dai sensori. Possono bufferizzare linformazione raccolta in risposta allo stimolo del sensore Processi che elaborano dati Sono responsabili dellelaborazione di dati raccolti e producono la risposta del sistema Processi di controllo degli attuatori Generano segnali di controllo per gli attuatori

8 Processi sensore/attuatore

9 Progettazione del sistema Le decisioni di progettazione sono molto legate a requisiti non funzionali del sistema 1. Partiziona le funzionalità dellhardware e del software 2. Identifica gli stimoli che devono essere elaborati, le risposte corrispondenti, e i vincoli di tempo associati ad ogni stimolo 3. Aggrega i processi stimolo/risposta in processi concorrenti. Ad ogni classe di stimolo e risposta può essere associato un processo

10 Progettazione del sistema 4. Progetta gli algoritmi corrispondenti ad ogni classe stimolo/risposta, garantendo che rispondano ai requisiti di tempo 5. Progetta un sistema di scheduling che assicuri che i processi vengano attivati al momento opportuno 6. Integra il sistema con un real-time executive (RTE) o con il sistema operativo 7. Esegui simulazioni e sperimentazioni per assicurare che i vincoli di tempo siano soddisfatti dal sistema I vincoli di tempo possono imporre luso di costrutti a basso livello o labbandono di progettazione OO per ragioni di efficienza

11 Modello macchina a stati finiti Leffetto di uno stimolo può essere modellato come passaggio da uno stato ad un altro, usando una modellizzazione con macchina a stati finiti I modelli FMS sono difficilmente strutturabili. Sistemi anche semplici possono avere un modello complesso Per gestire la complessità in un modello di macchina a stati finiti si possono usare diagrammi di thread che mostrano le sequenze legate ad ogni singolo evento

12 Macchina a stati finiti: microonde

13 Stati del forno a microonde

14 Stimoli del forno a microonde

15 Diagramma di thread Usati per strutturare e presentare linformazione del modello a stati finiti Mostra lelaborazione end-to-end di un particolare insieme di stimoli Per ogni combinazione di messaggi, bisogna produrre un diagramma dei threads. Questo rende impraticabile questo approccio in presenza di stimoli multipli

16 Thread piena potenza

17 Real-time executives Un Real-time executive è un sistema operativo specializzato che gestisce processi in sistemi real-time: allocazione di processori e di memoria Non include facilities come la gestione di files Componenti: Real Time Clock: offre informazioni per lo scheduling Gestore Interruzioni: gestisce richieste aperiodiche di servizi Scheduler: seleziona il prossimo processo da eseguire Resource manager: alloca risorse (processori e memoria) Dispatcher: determina linizio dellesecuzione dei processi

18 Real-time Executive

19 Componenti di un sistema non-stop Configuration manager Responsabile della riconfigurazione dinamica del sistema software e hardware. I moduli hardware devono essere sostituiti e deve essere fatto lupgrade di quelli software senza che il sistema si blocchi. Fault manager Responsabile dellindividuaizone di guasti hardware o software, e delle azioni conseguenti (ad es. attivare il gruppo di continuità) per assicurare che il sistema continui ad operare.

20 Assegnare priorità ai processi La gestione di alcuni stimoli può avere priorità su altre 1. Livelli di priorità legati alle interruzioni. La priorità più alta viene data ai processi che richiedono risposta veloce 2. Livelli di priorità legati al clock. Legati a processi periodici 3. Altre combinazioni

21 Gestione delle interruzioni Il controllo viene trasferito automaticamente a una locazione di memoria predeterminata Questa locazione contiene unistruzione per saltare alla routine corrispondente allinterrupt Ulteriori interruzioni sono disabilitate; linterrupt viene gestito e il controllo restituito al processo interrotto Le routines di servizio delle interruzioni devono essere semplici e veloci.

22 Gestione dei processi periodici Nella maggior parte dei sistemi real-time, ci sono diverse classi di processi periodici, ognuno con una diversa periodicità (il tempo tra unesecuzione e laltra), tempo di esecuzione scadenza (il tempo entro cui il processo deve essere completato) Il clock scatta periodicamente ed ogni scatto causa un interrupt che schedula il process manager per processi periodici Il process manager seleziona un processo che è pronto per essere eseguito

23 Gestione di processi con RTE

24 Switch di processi Lo scheduler sceglie il prossimo processo che deve essere eseguito. Questo dipende da una strategia di scheduling che deve tener conto del livello priorità dei singoli processi Il resource manager alloca memoria e un processore al processo che deve essere eseguito il dispatcher prende un processo dalla lista di quelli pronti per essere eseguiti, lo carica in un processore e ne inizia lesecuzione

25 Sistemi di monitoraggio e di controllo Sistemi che comprendono sensori che attuano periodicamente delle verifiche sul proprio ambiente e che attivano azioni in risposta ai valori dei sensori 1. I sistemi di monitoraggio esaminano i sensori e ne riportano i risultati 2. I sistemi di controllo prendono i valori dei sensori e controllano gli attuatori hardware

26 Sistema di allarme anti-intrusione Sensori Sensori dambiente, alle finestre, alle porte Azioni Quando un intruso viene segnalato, la polizia viene allertata immediatamente Si accendono le luci nelle stanze con sensori attivi Viene attivata una sirena Il sistema passa automaticamente al gruppo di continuità appena viene segnalato una caduta di tensione elettrica

27 Stimoli da elaborare Black-out elettrico Segnale aperiodico generato monitorando il circuito. Quando viene ricevuto il sistema deve attivare entro 50 ms. il gruppo di continuità Allarme dintrusione Stimolo generato dai sensori del sistema. La risposta è una chiamata alla polizia, laccensione delle luci e della sirena

28 Requisiti sui tempi di risposta

29

30 Sistemi di controllo Il sistema di allarme è soprattutto un sistema di monitoraggio. Colleziona dati dai sensori, ma non ha un controllo real-time degli attuatori I sistemi di controllo sono simili, ma in risposta ai valori dei sensori, i sistemi mandano segnali agli attuatori Esempio di sistemi di monitoraggio e controllo è un sistema che controlla la temperatura e accende o spegne la caldaia ed i termosifoni in un sistema di riscaldamento

31 Sistema di controllo della temperatura 30

32 Sistemi di acquisizione dati Raccolgono dati da sensori per essere successivamente elaborati e analizzati Il processo di raccolta dati e di elaborazione possono avere periodicità e deadlines diverse La raccolta dati può essere più veloce dellelaborazione (es. raccolta di informazioni su unesplosione) Le differenze di velocità possono essere trattate usando buffers circolari (o ad anello)

33 Raccolta dati di un reattore Il sistema raccoglie dati da sensori che monitorano il flusso di neutroni da un reattore nucleare Il flusso dei dati viene posto su un buffer per essere elaborato successivamente Il buffer ad anello è a sua volta implementato come un processo concorrente, così che la raccolta dati e lelaborazione possano essere sincronizzati

34 Monitoraggio del flusso di un reattore

35 Un buffer ad anello

36 Mutua esclusione Il produttore raccoglie dati e li aggiunge al buffer. Il consumatore elabora i dati dal buffer e rende disponibili i risultati I processi produttore e consumatore devono essere mutuamente esclusivi. Il buffer deve inibire il processo del produttore quando è pieno, e deve interrompere il processo del consumatore quando tenta di prendere informazione dal buffer vuoto