FONDAMENTI DI INFORMATICA
Prof. PIER LUCA MONTESSORO Laureando LUCA DA RE
Facoltà di Ingegneria
Università degli Studi di Udine
Applicazioni Real-Time
Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.
Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.
Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell’autore.
L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).
In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste
slide.
Applicazioni Sistemi Operativi Real-Time
• I sistemi operativi real-time sono “nascosti”:
– Non sono studiati per interagire con l'utente (uomo)
– La programmazione di questi ambienti avviene solitamente con l'ausilio di altri sistemi operativi non real-time
• La loro principale applicazione è in sistemi embedded
• La maggior parte dei sistemi operativi real-
time consiste in soluzioni proprietarie studiate appositamente per particolari piattaforme
hardware (progetto hardware/software)
Campi di applicazione
• Campi di applicazione dei sistemi operativi real-time:
– Macchine automatiche – Automobili
– Computers
– Sistemi di telecomunicazione – Centrali Elettriche
– Avionica
– Robotica
Campi di applicazione
Campi di applicazione
La prima applicazione Real-Time
• Nel 1947, in collaborazione con la marina militare americana, iniziò lo sviluppo del progetto Whirlwind
• Fu il primo computer ad alta velocità in grado di operare in real-time ed ad
essere usato per un fine pratico
Il progetto Whirlwind
• Le caratteristiche del Whirlwind furono possibili grazie all’uso di nuclei di
ferrite, che erano molto più veloci delle memorie a tubo catodico dei precedenti sistemi
• Nuclei di ferrite dello stesso genere
furono usati negli Stati Uniti in memorie
come la UNIVAC 1003 (1953) e la IBM
Il progetto Whirlwind
• Jay W. Forrester pensò ad un’istruttore ed analizzatore di volo aereo che
simulasse le forze aereodinamiche che agiscono sui controlli del pilota
• Il pilota deve agire prontamente nel simulatore tanto quanto nella realtà
• Tutta la strumentazione deve quindi
operare in tempi di risposta reali
Database Real-Time
• Un’importante area di applicazione dei sistemi real-time è nei database
• Un database real-time è un sistema di
processare le transazioni nel quale i dati
hanno esplicite costrizioni temporali
Database Real-Time
• Disegnare Database Real-Time implica:
– Analizzare le esigenze del sistema nell’identificare i dati
– Determinare le capacità hardware
– Identificare le differenti criticità dei dati e le
restrizioni di integrità
Database Real-Time
• I database Real-Time sono usati in una varietà di applicazioni:
– Controllo di processo – Sistemi radar
– Produzione computerizzata – Controllo del traffico
– Realtà virtuale
– Multimedia
Database Real-Time
• I sistemi di gestione di database ordinari
provvedono tecniche di controllo simultaneo che cercano di preservare la consistenza dei dati (per esempio bloccando letture e
scritture) e della logica
• I database real-time devono anche imporre controlli che preservino l’esigenza di
consistenza temporale dei dati
– Come in molti sistemi real-time, minimizzare la
risposta media è meno importante che garantire i
Elaborazione Real-Time delle immagini
• La rappresentazione di immagini real-time non riguarda solo processori veloci ad
architettura parallela
• Essa coinvolge almeno 3 fondamentali confronti:
– Performance contro risoluzione dell’immagine
– Performance contro le dimensioni della banda di
input/output
Elaborazione Real-Time delle immagini
• Il problema di esprimere algoritmi per immagini (specialmente in architetture multiprocessore), di trovare appropriati linguaggi di programmazione, di testare l’affidabilità e di creare tecniche
concrete di sviluppo software non è
risolto semplicemente con dell’hardware
più veloce
Elaborazione Real-Time delle immagini
• Vantaggi dell’elaborazione real-time:
– Molte applicazioni per immagini possono essere realizzate senza utilizzare costrutti di linguaggio che distruggono il determinismo
– Sono disponibili speciali architetture real-time
• Svantaggi dell’elaborazione real-time:
– Molte applicazioni per immagini sono critiche per quanto riguarda il tempo ed elaborano
intensivamente dati
– Non esistono linguaggi di programmazione
standard disponibili per l’elaborazione real-time
Elaborazione Real-Time delle immagini
• L’elaborazione delle immagini copre una vasta gamma di aree di ricerca:
– Compressione delle immagini
– Acquisizione ed inseguimento di un target – Controlli e sensori remoti
– Miglioramento e filtro delle immagini
– Connessioni di rete per la visualizzazione real- time
– Architetture computer avanzate – Misurazioni ed esami ottici
– Simulazione
Elaborazione Real-Time delle immagini
• Queste aree di ricerca sono critiche in applicazioni quali:
– Robotica
– Realtà virtuale – Multimedia
– Ispezioni industriali
– Televisioni ad alta definizione – Simulatori avanzati
– Produzione assistita da computer
time
• Viene digitalizzato un video analogico in ingresso da una telecamera o un sensore
• L’immagine viene migliorata e filtrata per rimuovere il rumore
• Se necessario viene effettuato il movimento e la rilevazione delle immagini
• Se richiesto vengono applicate decisioni logiche per modificare l’immagine
• Spesso è necessaria una visualizzazione real-time (per esempio a 30
Digitalizzazione
Miglioramento e filtro delle immagini
Movimento e rilevazione delle immagini
Visualizzazione
Decisione logica Video
analogico
Applicazioni: la Realtà Virtuale
• I sistemi a realtà virtuale sono complessi simulatori che coinvolgono la vista, l’udito, il tatto ed altri
feedback per far credere ai meccanismi di percezione umani di essere realmente in un mondo artificiale
• Anche se la realtà virtuale ha ovvie applicazioni in simulatori di combattimento, l’impiego più
promettente è in ambito civile ed include:
– Esercizi e ricreazione
– Riabilitazione fisica e terapie
– Addestramento professionale
Applicazioni: la Realtà Virtuale
• Vi sono 3 modelli di Realtà Virtuale:
– Telepresenza: un operatore che controlla da remoto un robot come se fosse
fisicamente presente
– Immersione: un simulatore può realmente ingannare i sensi umani nel credere che l’ambiente ricreato sia vero
– Incremento di realtà (Augmented Reality):
un display di informazioni reali è integrato
Applicazioni: la Realtà Virtuale
• Alte performance e garanzie temporali sono
essenziali per assicurare che l’illusione di realtà sia mantenuta
• Quelli a realtà virtuale forse sono i più complessi
sistemi real-time perché interessano problemi come il controllo ed il puntamento
• La realtà virtuale interessa anche processori e
programmi simultanei, periferiche condivise, ed è
quindi importante il concetto di sincronizzazione
Applicazioni: i multimedia
• L’aumento dei computer multimediali ha spinto la ricerca verso l’elaborazione
multimediale
• I sistemi multimediali possono essere visti come una combinazione di immagini,
animazioni, video e audio
• Come per la realtà virtuale, nelle applicazioni
multimediali è importante che l’audio sia in
sincronia con l’immagine della persona che
parla
Applicazioni: i multimedia
• I sistemi multimediali hanno bisogno di:
– Alta potenza di calcolo – Reti ad alta velocità
– Grandi dispositivi di memorizzazione
– Tecniche di compressione audio e video – Sistemi Operativi real-time
– Sviluppo di software
– Memorizzazione e recupero dati
Applicazioni: i multimedia
• Si è lavorato per creare sistemi operativi multimediali che abbiano ampie bande per i bus, alte performance e schedulazione real-time
• Nello sviluppo dei strumenti software le ricerche si sono concentrate attorno ad un nuovo linguaggio ad oggetti
• Di grande interesse sono le tecniche di compressione audio e video che si sono concentrate nello sforzo di mantenere il sistema deterministico, predicibile e
sincronizzato
Una generica architettura multimediale
Sistema di elaborazione multimediale
Visualizzazione video
Uscita audio
decompressione
decompressione