light embedded Operating System (leOS) è un progetto di Leonardo Miliani, un programmatore fiorentino, e consiste in una specie di sistema operativo in C per gestire l’esecuzione del codice su Arduino. Lo stesso Miliani premette che la definizione di sistema operativo è indicativa: leOS è una via di mezzo tra un Real-Time Operating System (RTOS) e uno scheduler, che non rientra al 100% nelle due categorie. È compatibile con tutte le schede prodotte da o con gli schemi di Arduino su ATmega, perciò non funzionerà con Arduino Due.
leOS è in grado d’avviare/arrestare, riprendere o eliminare le operazioni affidategli: non supporta il preemptive multitasking degli RTOS, ma utilizza gli interrupt e perciò non è affetto da eventuali delay nel codice come gli altri scheduler. Prevedendo il timer 2, leOS disattiva le funzioni di Pulse-Width Modulation (PWM) sui pin digitali 3 e 11 — una caratteristica da tenere in considerazione, non soltanto se si collegano degli shield. La versione 0.1.x di leOS supporta Arduino Leonardo col nuovo layout delle schede prodotte.
Miliani descrive leOS come un sistema efficace per gestire ricorsivamente le operazioni che non richiedano un utilizzo intenso del processore centrale. Perché funzioni è sufficiente scompattarne l’archivio nella cartella dello sketch da gestire: una caratteristica che lo differenzia da looper, un altro progetto di Miliani che esclude il timer 2 – richiesto da numerose applicazioni – e dovrebbe “liberare” il PWM sui pin 3 e 11. looper è uno scheduler molto più semplice di leOS che dev’essere invocato esplicitamente dagli sketch.
Via | Arduino
leOS, un sistema operativo essenziale per Arduino da Leonardo Miliani é stato pubblicato su Ossblog.it alle 09:00 di giovedì 30 agosto 2012. Leggete le condizioni di utilizzo del feed.