TinyOS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Maupag (discussione | contributi)
mNessun oggetto della modifica
Maupag (discussione | contributi)
mNessun oggetto della modifica
Riga 1:
'''TinyOS''' è un [[sistema operativo]] per i mote, i nodi delle reti wireless di sensori ([[wireless sensor network|Wireless Sensor Network]]). È sotto sviluppo da parte di un consorzio guidato dall'[[Università della California, Berkeley]], in collaborazione con [[Intel]] Research e nasce per far parte della tecnologia [[Smart Dust]].<br />
TinyOS è un sistema operativo totalmente non bloccante, scritto in [[NesC]]. Gestisce le operazioni di I/O che richiedono tempi d'esecuzione più lunghi di pochi microsecondi in modo asincrono; queste ultime sono anche dette operazioni split-phase (che in inglese significa "a fase spaccata") per via del fatto che, dopo essere state invocate, al momento del loro completamento, innescano l'esecuzione di una funzione di ritorno (callback) chiamata evento.
Invece, per supportare le operazioni che richiedono lunghe computazioni, TinyOS usa il costrutto task fornito dal linguaggio NesC. Questo costrutto è una specie di procedura che può essere invocata da un comando (a sua volta invocato da un evento): è simile ad una chiamata DPC (Deferred Procedure Call), una chiamata a bassa priorità.
Il nucleo (kernel) ha uno scheduling a due livelli gerarchici: uno per gli eventi e uno per i task. Gli eventi hanno diritto di prelazione reciproco e sui task. L'esecuzione dei task segue una politica First-Come First-Served tradizionale, senza diritto di prelazione (nonpreemptive).