EMB_76

31 EMBEDDED 76 • MAGGIO • 2020 OPERATING SYSTEMS | SPECIALE costi d’implementazione e manutenzione, lo svilup- po di competenze, che il software libero comunque comporta in ogni singolo progetto embedded. Anche nel caso di un SO open source, la selezione del À complessa dalle interrelazioni tra i diversi requi- siti tecnici cruciali da analizzare: ad esempio, può essere necessario stabilire se l’applicazione dovrà supportare funzionalità real-time; se vi sono limiti dell’hardware a livello di memoria, CPU, consumi di energia, che possono condizionare il funzionamento. Altri elementi di valutazione cruciali possono essere À compilazione e debugging; la considerazione della facilità d’uso del sistema; il controllo delle archi- tetture hardware supportate, della disponibilità di driver e BSP (board support package). Non da ulti- mo, vanno valutati i requisiti di safety, security e le À . Benefici del software libero @ À dall’adozione di un sistema operativo open source si possono enumerare sotto diversi aspetti. In termini di riusabilità del codice, l’utilizzo di Li- nux e di componenti open source nei sistemi em- bedded favorisce l’abilità di riutilizzare i componen- ti esistenti, e di sfruttare un ecosistema tecnologico già in grado di fornire componenti per funzionalità standard, che possono spaziare dal supporto hard- ware, ai protocolli di rete, ai codec multimediali, À può affermare che quando un dispositivo hardware, o una funzionalità, raggiungono una larga diffusio- ne nel mercato, in genere, esiste un’alta probabili- tà che vi siano componenti open source in grado di À † ware può essere duplicato su quanti dispositivi si desidera, senza incorrere in costi, e, se il sistema embedded viene sviluppato usando solo codice li- À - rando che anche i tool di sviluppo sono scaricabili liberamente, eccettuati quei casi in cui l’utente pre- ferisca, ad esempio, scegliere una edizione commer- ciale (commercial-grade) di Linux embedded. A livello di controllo del sistema, scegliendo il mo- dello open source, lo sviluppatore dovrà certamen- À % novo, ma potrà avere un controllo completo sulla componente software del proprio progetto, e dispor- re del codice sorgente di tutti i componenti del siste- - À in licenze open source come GPL (GNU - General Public License), l’utente potrà eseguire sul codice À - miti, eliminando la dipendenza e gli effetti di “lock- in” con vendor di terze parti. Oggi, molti dei sistemi operativi utilizzati per lo sviluppo di sistemi em- bedded e applicazioni IoT appartengono al mondo open source. Qui di seguito, una mini-rassegna di alcuni OS basati sul codice libero e adatti per lo svi- luppo di dispositivi embedded IoT. Apache Mynewt https://mynewt.apache.org/ Questo sistema operativo open source è indirizzato a dispositivi embedded di piccole dimensioni, ed ha l’obiettivo di rendere semplice lo sviluppo di appli- cazioni per architetture microcontroller in cui con- sumi e costi sono i fattori che guidano lo sviluppo del progetto. Il kernel del sistema operativo è real- time, e tra le caratteristiche principali del prodot- to si possono citare il supporto di numerosi stack di networking wireless (Bluetooth Low Energy 5, Bluetooth Mesh, Wi-Fi, LoRaWAN); una sicurezza “by design”; la predisposizione del sistema ad atti- vità di monitoraggio e gestione remota; la natura “cross-platform” e agnostica rispetto alla tipologia di hardware. FreeRTOS https://www.freertos.org/ Il sistema operativo real-time FreeRTOS è distri- buito liberamente sotto la licenza open source MIT, ed è indirizzato a microcontroller (MCU) e piccoli microprocessori. Include un kernel e un crescente insieme di librerie adatte per l’utilizzo in tutti i set- La homepage del sistema operativo open source Apache Mynewt

RkJQdWJsaXNoZXIy MTg0NzE=