#News
Yocto vs. Ubuntu
I sistemi operativi a confronto
Panoramica: Sistema operativo
Una decisione fondamentale nello sviluppo di progetti IoT e di infrastrutture edge riguarda il software e, di conseguenza, la scelta di un sistema operativo adeguato. Un sistema operativo è un software di sistema di basso livello che gestisce le risorse hardware e software del computer e facilita notevolmente le funzioni di base del computer, come la gestione delle risorse, la gestione della memoria, il controllo delle periferiche e il networking. Il sistema operativo funge da interfaccia tra l'hardware e il software del computer ed è quindi un componente importante di un sistema. Sul mercato sono disponibili diversi sistemi operativi, tra i quali Microsoft Windows è il più noto in ambito desktop. Se si esce dall'ambito dei computer desktop, si utilizzano spesso sistemi operativi basati sul kernel Linux.
Sistema operativo open-source: Linux
Linux è un gruppo di sistemi operativi simili a Unix costruiti sul kernel Linux. Appartiene alla famiglia del software libero e open source ed è solitamente disponibile gratuitamente in una distribuzione Linux come Ubuntu. Una distribuzione Linux è una selezione di alcuni software e di un kernel Linux coordinati tra loro per formare un sistema operativo utilizzabile. È più comunemente usata per i server e i sistemi embedded, ma è disponibile anche in versione desktop. Poiché Linux è open source, può essere visualizzato e verificato anche a livello di kernel. L'edge computing e l'IoT spesso coinvolgono sistemi embedded, quindi l'hardware e il software devono essere integrati di conseguenza in base ai singoli requisiti. Per questo, Linux è l'opzione migliore perché consente di scrivere driver di base a livello di kernel per soddisfare queste esigenze.
Soprattutto nel mondo dei sistemi embedded, le dimensioni di una distribuzione Ubuntu completa possono essere sufficienti a limitare fortemente la memoria limitata della scheda prima ancora di poter iniziare a installare software aggiuntivo o a raccogliere dati. Quindi, quando si tratta di applicazioni ad alta intensità di dati, è necessario un sistema operativo con un ingombro ridotto. È qui che entra in gioco Yocto: l'obiettivo del progetto Yocto è fornire software ottimizzato per applicazioni embedded altamente specifiche.
Yocto e la differenza con Ubuntu
Innanzitutto, è importante capire che Yocto non è una distribuzione Linux. Infatti, il sito web del progetto Yocto afferma: "Non è una distribuzione Linux embedded, ne crea una propria". Al contrario, Ubuntu è una distribuzione Linux completa per scopi informatici generali. Poiché Ubuntu e le altre distribuzioni basate su Debian sono orientate a scopi informatici e di programmazione generali, sono una buona scelta per un ambiente di sviluppo in cui il codice potrebbe dover essere modificato e i prototipi cambiati spesso.
Yocto consente di ridurre le dimensioni del sistema operativo a quanto necessario per il funzionamento del sistema. Yocto è modulare e richiede un SDK per creare una distribuzione. In questo senso, Yocto è più comunemente definito come una meta-distribuzione e può essere visto come una raccolta di librerie, dipendenze, valori di configurazione e classi che vengono messe insieme per creare un'immagine runtime Linux personalizzata.
Il progetto Yocto è quindi un progetto collaborativo open source che aiuta gli sviluppatori a creare sistemi personalizzati basati su Linux, indipendentemente dall'architettura hardware. Yocto fornisce un insieme flessibile di strumenti e uno spazio dove gli sviluppatori embedded di tutto il mondo possono condividere tecnologie, stack software, configurazioni e best practice per creare immagini Linux personalizzate per dispositivi embedded e IoT o ovunque sia necessario un sistema operativo Linux personalizzato.
Conclusioni
Quando si tratta di decidere tra Yocto e Ubuntu, il verdetto dovrebbe essere abbastanza chiaro. Se il codice è in fase di sviluppo, si sta creando un proof-of-concept e si stanno testando i primi prototipi, si dovrebbe usare Ubuntu. Se il codice è completamente testato e un prototipo funzionante deve essere testato su una scheda embedded, si dovrebbe usare Yocto, che offre vantaggi in termini di velocità e memoria.
Un altro punto in cui il progetto Yocto è in vantaggio è la possibilità di personalizzare le dimensioni del sistema operativo. Soprattutto per quanto riguarda le soluzioni di gestione dei dispositivi, utilizzate per gli aggiornamenti remoti dei dispositivi IoT ed edge sul campo, la quantità di dati da trasferire gioca un ruolo importante. Anche l'ingombro dei dispositivi sul campo può essere ridotto al minimo. Ciò significa che lo spazio di archiviazione limitato viene utilizzato in modo efficiente e quindi le risorse dei dispositivi sul campo possono essere sfruttate al massimo. Soprattutto nel caso di un numero elevato di dispositivi, ciò comporta un notevole risparmio sui costi.
Tradotto con www.DeepL.com/Translator (versione gratuita)