TinyOS
TinyOS è un sistema
operativo per reti wireless di sensori creato dall'università di Berkeley in
California: è interamente scritto in NesC, si basa su un modello a eventi per
garantire efficienza e risparmio di risorse e mette a disposizione componenti
per gestire l'hardware. E' composto da un insieme di task e processi
cooperativi che operano sotto le rigide limitazioni di memoria tipiche di
queste tipologie di reti e a differenza dei normali sistemi operativi, non ha
un kernel, non è multi-thread e non ha un gestore della memoria; tuttavia
permette di acquisire dati dai dispositivi posti su un nodo e gestire l'invio e
la ricezione di pacchetti via radio.
TinyOS è gestito a moduli: ogni componente può
implementare i comandi forniti da un'interfaccia e esporli verso un altro
componente, oppure usare i comandi implementati da un altro modulo. Le
applicazioni dispongono di una configurazione che specifica i collegamenti tra i
moduli e le interfacce: in questo modo è possibile creare un qualsiasi insieme
di moduli collegati tra loro in base alle esigenze del programmatore
Un componente che fornisce un'interfaccia deve avere
un'implementazione di tutti i comandi contenuti al suo interno mentre un
componente che usa un'interfaccia deve implementare un gestore per tutti gli
eventi in essa dichiarati: questi eventi vengono segnalati dal componente che
offre tale interfaccia.