Il sistema operativo TinyOS



Похожие документы
Approccio stratificato

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Architettura di un sistema operativo

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Implementazione di un servizio VoIP in ambienti SOA per mobile computing

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.

Introduzione al sistema operativo Il file system: file, directory,...

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Architetture Applicative

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Concetti di base di ingegneria del software

Capitolo 3: Strutture dei sistemi operativi

Sistema operativo: Gestione della memoria

Sistemi Operativi. Conclusioni e nuove frontiere

Dispensa di Informatica I.1

FONDAMENTI di INFORMATICA L. Mezzalira

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Sistemi operativi e reti A.A Lezione 2

Introduzione alla Progettazione per Componenti

Tecniche di riuso del software: applicazione ad un caso di studio reale

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Il Sistema Operativo

Il sistema operativo TinyOS

Antonio Guerrieri UTILIZZO DEL COMPUTER E GESTIONE DEI FILE IN MS WINDOWS

Introduzione alle applicazioni di rete

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Corso di Sistemi di Elaborazione delle informazioni

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA DIPARTIMENTO DI INFORMATICA E SISTEMISTICA. Presentazione

Progetto e sviluppo di una Applicazione Android per l accesso a reti di sensori senza filo

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Progetto ed implementazione di un tool di supporto allo sviluppo di applicazioni per Linux LibeRTOS

Introduzione al sistema operativo. Laboratorio Software C. Brandolese

Il Sistema Operativo (1)

Un approccio innovativo alla tecnica di robustness testing del sistema operativo Linux

Progetto e sviluppo di un applicazione per il pilotaggio remoto di reti

Generazione Automatica di Asserzioni da Modelli di Specifica

Linux nel calcolo distribuito

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

VMware. Gestione dello shutdown con UPS MetaSystem

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

SISTEMA DI MONITORAGGIO AMBIENTALE TRAMITE WSN

introduzione I MICROCONTROLLORI

WLINK. Ecco le principali ed innovative caratteristiche di un sistema wireless WLINK:

Il computer: primi elementi

Sistemi Operativi. Introduzione UNICAL. Facoltà di Ingegneria. Domenico Talia A.A

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

GESTIONE DEI PROCESSI

OFFERTA FORMATIVA INDIRIZZI DI STUDIO

Sistemi Operativi UNICAL. Facoltà di Ingegneria. Domenico Talia A.A Sistemi Operativi. D. Talia - UNICAL

Architetture software. Virtualizzazione

I sistemi distribuiti

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Realizzazione di un tool di instrumentazione automatica a supporto della failure analysis

Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Smartphone Anno Accademico 2005/2006

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Un architettura per la gestione dei log di applicazioni distribuite

LINUX. Che cos'e` un sistema operativo?

La Gestione delle risorse Renato Agati

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

SERVIZI A VALORE AGGIUNTO PER RETI CITTADINE

Base di dati e sistemi informativi

Sistemi Operativi. 5 Gestione della memoria

Confronto sperimentale tra tecniche di testing automatico per applicazioni Android

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

IT Cloud Service. Semplice - accessibile - sicuro - economico

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

C3 indirizzo Elettronica ed Elettrotecnica Profilo

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo

Hardware & Software Development

Транскрипт:

tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804

::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio della virtual machine matè Installazione di TinyOS su una macchina linux

::. Reti di sensori TinyOS è un sistema operativo open-source per reti di sensori senza filo. Una rete di sensori è un sistema distribuito formato da un insieme di nodi capaci di: ospitare sensori o attuatori eseguire elaborazioni comunicare tra loro attraverso protocolli di rete multi-hop Una rete di sensori è caratterizzata da: Centralità dei dati: : l osservazione l del fenomeno è più importante del singolo nodo sensore Orientamento alle applicazioni: : le reti di sensore sono progettate per una specifica applicazione Scalabilità: : le reti di sensori sono composte da un grande numero di nodi Autoconfigurazione: : il comportamento di un nodo deve variare a seconda dello stato in cui si trova la rete Ridotti consumi di energia: : i nodi sono alimentati unicamente da batterie Semplicità: : l hardware l e il software di una rete di sensore devono essere il piùp semplici possibili

::. Sistemi operativi per reti di sensori Le proprietà di una rete di sensori impongono lo sviluppo di S. O. che tengano conto di: Ridotte dimensioni dell hardware e scarsa disponibilità di energia Alto numero di eventi a cui sono soggette le reti di sensori Basso livello di parallelismo delle reti di sensori Necessità di adeguare lo stesso software ai diversi dispositivi hardware Tolleranza ai guasti nelle reti di sensori che lavorano in ambienti critici Un S. O. per reti di sensori dovrebbe quindi essere caratterizzato to da: Semplicità: evitare operazioni inutili e molto ingombranti Semplicit evitare operazioni inutili e molto ingombranti Risparmio energetico: spegnere le risorse hardware quando non sono utilizzate Efficienza: gestire rapidamente grandi quantità di eventi per evitare di perdere informazioni preziose Basso parallelismo: rapido accesso all hardware e basso overhead di esecuzione Modularità: garantire riusabilità e manutenibilità del software Tolleranza ai guasti: favorire lo sviluppo di applicazioni distribuite affidabili

::. Sistema operativo TinyOS TinyOS è stato progettato con l obiettivo l di: Ridurre i consumi di energia, il carico computazionale e l occupazione l di memoria Supportare intensive richieste di operazioni concorrenti, robuste, efficienti e modulari Il risultato è un sistema operativo caratterizzato da: Kernel ridotto che permette l accesso l diretto all hardware Meccanismi di gestione del processore che non prevedono i cambi di contesto Memoria considerata come un unico e lineare spazio fisico allocato a tempo di compilazione

::. Sistema operativo TinyOS Per soddisfare il requisito dell efficienza, efficienza, TinyOS è stato implementato seguendo il modello a eventi. Nel campo delle reti di sensori, l approccio l basato sugli eventi consente di utilizzare le risorse hardware nel n modo più efficiente possibile. Per soddisfare il requisito della modularità, TinyOS è stato implementato utilizzando il modello a componenti. Ogni componente presente in TinyOS è un unit unità software indipendente dotata di interfacce, le cui dipendenze da altri componenti sono esplicite nelle interfacce stesse, ed è formato da quattro parti tra loro collegate: un frame un insieme di comandi un insieme di eventi un certo numero di task

::. Elementi di TinyOS Il frame è l area dati di un componente ed è allocata a tempo di compilazione. I comandi sono richieste di un servizio offerto da un altro componente. Gli eventi sono, direttamente o indirettamente, delle interruzioni hardware. I task sono attività indipendenti che non hanno diritto di prelazione su nessuna delle attività in corso. Lo scheduling ha due livelli di priorità: quello normale per i task e quello più alto per gli eventi, che possono interrompere i task.

::. Linguaggio nesc Il sistema TinyOS e le sue applicazioni sono scritte nel linguaggio nesc,, il quale implementa il modello a eventi, il modello a componenti e il modello concorrente previsti da TinyOS. Le caratteristiche principali di tale linguaggio sono: la bidirezionalità delle interfacce il linking statico dei componenti di un applicazione Il linking statico consente un ingente risparmio di energia e di memoria, tuttavia limita molto la versatilità: : infatti non è possibile installare più applicazioni indipendenti sullo stesso nodo sensore e non è possibile effettuare linking dinamico di librerie esterne o riconfigurazione dinamica di parte del codice presente sul sensore.

::. Virtual machine Matè Il linking statico di un applicazione può sollevare seri problemi qualora sia necessario riprogrammare una rete di sensori formata da centinaia o da migliaia di nodi. In tale scenario diventa indispensabile ricorrere ad applicazioni i che offrono una gamma di servizi a più alto livello rispetto al solo sistema operativo: le virtual machine. Per il sistema operativo tinyos è disponibile la virtual machine Matè, un applicazione TinyOS che implementa un sistema per la riprogrammabilità dinamica dei nodi sensori basato sulla diffusione in tutta la rete di frammenti di codice. Tra le altre caratteristiche, Matè fornisce anche alcune funzionalità che permettono di rendere sicuri i programmi concorrenti e di rendere sincrone le operazioni tinyos.

::. Installazione di TinyOS e di Matè L installazione di TinyOS su una macchina linux consiste nell installazione di 9 pacchetti sorgente: I pacchetti JDK-1.4.2 e javax.comm consentono di installare la Java virtual machine. I pacchetti avr-binutils, avr-gcc, avr-libc, avr-insight e avarice consentono di installare l ambiente l di sviluppo GNU C per la programmazione dei microcontrollori AVR 8-bit 8 RISC della Atmel Il pacchetto nesc-1.1.2b consente di installare il compilatore per il linguaggio nesc Il pacchetto tinyos-1.1.15 consente di installare il sistema operativo TinyOS vero e proprio L installazione della virtual machine Matè consiste nell installazione di un solo pacchetto sorgente: tinyos-vm-1.1.0