30.11.2012 Views

download tesi - MobiLab - Università degli Studi di Napoli Federico II

download tesi - MobiLab - Università degli Studi di Napoli Federico II

download tesi - MobiLab - Università degli Studi di Napoli Federico II

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Progetto e valutazione <strong>di</strong> algoritmi per la raccolta<br />

dati affidabili su reti <strong>di</strong> sensori senza cavo<br />

compilatore ncc per il supporto <strong>di</strong> nuove piattaforme hardware (come la<br />

piattaforma 8051) 1 .<br />

TinyOS è stato progettato principalmente per le reti <strong>di</strong> sensori ed adotta<br />

soluzioni molto semplici ed efficienti, al fine <strong>di</strong> ridurre al massimo i<br />

consumi <strong>di</strong> energia. Infatti TinyOS non possiede un nucleo ma permette<br />

l'accesso <strong>di</strong>retto all'hardware, inoltre sparisce il concetto <strong>di</strong> processore<br />

virtuale per evitare i cambi <strong>di</strong> contesto, e quello <strong>di</strong> memoria virtuale: la<br />

memoria viene infatti considerata come un unico e lineare spazio fisico, che<br />

viene assegnato alle applicazioni a tempo <strong>di</strong> compilazione. In pratica viene<br />

eliminato qualsiasi tipo <strong>di</strong> overhead, poiché nelle reti <strong>di</strong> sensori questo<br />

causa un’inutile <strong>di</strong>spersione <strong>di</strong> energia senza portare tangibili vantaggi.<br />

Queste scelte impattano <strong>di</strong>rettamente sull'architettura che risulta molto<br />

compatta e ben si sposa con le <strong>di</strong>mensioni ridotte della memoria che è<br />

dell’or<strong>di</strong>ne <strong>di</strong> pochi KB.<br />

Lo scopo <strong>di</strong>chiarato dei progettisti <strong>di</strong> TinyOS era infatti quello <strong>di</strong>:<br />

1. ridurre i consumi <strong>di</strong> energia;<br />

2. ridurre il carico computazionale e le <strong>di</strong>mensioni del sistema<br />

operativo;<br />

3. supportare intensive richieste <strong>di</strong> operazioni che devono essere svolte<br />

concorrentemente e in maniera tale da raggiungere un alto livello<br />

robustezza ed un efficiente modularità.<br />

Per sod<strong>di</strong>sfare il requisito della modularità, TinyOS favorisce lo sviluppo <strong>di</strong><br />

una serie <strong>di</strong> piccoli componenti, ognuno con un ben precisa funzione, che<br />

realizza un qualche aspetto dell'hardware del sistema o <strong>di</strong> un'applicazione.<br />

Ogni componente poi, definisce un interfaccia che garantisce la riusabilità<br />

del componente ed eventualmente la sua sostituzione.<br />

1 http://tinyos.cvs.sourceforge.net/tinyos/<br />

28

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!