Che cos’è Embedded Linux®?

Il termine “Linux integrato” può essere utilizzato per descrivere qualsiasi variante del sistema operativo Linux® open source in esecuzione su un sistema informatico integrato – un dispositivo o una piattaforma mirati integrati in un prodotto complessivo più ampio come un dispositivo o un pezzo di elettronica di consumo di attrezzatura. L’architettura modulare del kernel Linux® insieme al supporto per un’ampia varietà di microprocessori e altri tipi di hardware ha reso il sistema popolare nei campi dell’informatica integrata. Linux®, tuttavia, può subire uno svantaggio di prestazioni in alcuni scenari perché necessita di software aggiuntivo per fungere da sistema operativo in tempo reale (RTOS), un requisito per alcuni sistemi embedded. Nonostante ciò, per i sistemi embedded è stata utilizzata una varietà di distribuzioni Linux® personalizzate, che vanno dai telefoni cellulari alle apparecchiature di test avionica.

Un computer embedded differisce da un personal computer (PC) in quanto il sistema embedded è progettato o costruito per uno o più scopi specifici, mentre i PC sono pensati per un’ampia gamma di funzioni. Un computer embedded può essere progettato con la quantità minima di prestazioni richieste per raggiungere i suoi obiettivi specifici, risultando in una piattaforma di computer leggera ed altamente efficiente. La categoria abbraccia un’ampia varietà di dispositivi informatici, dai dispositivi di elettronica di consumo alle apparecchiature avioniche, ai rover e ai veicoli spaziali che esplorano il sistema solare. Come ogni computer, però, l’hardware di un sistema embedded è inutile senza una piattaforma software, e in molti casi la piattaforma software scelta è una qualche forma di Linux® embedded.

Linux® si è dimostrato popolare in numerosi campi dell’informatica incorporata grazie al suo alto livello di personalizzazione e flessibilità, insieme al supporto hardware diversificato. Il kernel Linux® ha un’architettura modulare, il che significa che un progettista o un ingegnere può scegliere solo i driver e il software di alto livello necessari per un particolare sistema. Anche il supporto per una varietà di diverse architetture di microprocessori è un importante vantaggio offerto da Linux® embedded, poiché i sistemi embedded possono utilizzare un microprocessore molto diverso da quelli che si trovano nei PC. Come progetto software open source, Linux® può essere utilizzato anche senza le restrizioni e le royalty che potrebbero essere presenti nelle offerte commerciali.

I sistemi embedded spesso richiedono un sistema operativo in tempo reale, un sistema operativo in grado di rispondere agli eventi entro un periodo di tempo molto breve. Poiché il kernel Linux® non è stato progettato tenendo conto delle prestazioni in tempo reale, è necessario eseguire software aggiuntivo sul kernel per fornire questa funzionalità. Questo è un potenziale svantaggio per l’uso di Linux® integrato poiché questo software aggiuntivo consuma più risorse.

Alcune versioni di Linux® embedded possono essere create quasi da zero, mentre altre sono versioni leggermente modificate di distribuzioni esistenti. Sia le organizzazioni commerciali che non commerciali offrono le proprie distribuzioni predefinite rivolte a produttori e studi di progettazione. I telefoni cellulari ei lettori multimediali, ad esempio, utilizzano comunemente varietà standard di Linux® embedded. I chioschi informatici o le apparecchiature di rete potrebbero utilizzare solo una versione leggermente modificata di una distribuzione Linux® desktop.

In campi con requisiti di tempo reale o prestazioni molto esigenti, l’utente finale è spesso molto coinvolto nella progettazione del sistema. La National Aeronautics and Space Administration (NASA), ad esempio, ottiene il software Linux® da fornitori esterni, ma stabilisce le linee guida da seguire per i fornitori. Altre organizzazioni, come le aziende che producono apparecchiature per i test avionici, possono scegliere di sviluppare la propria versione di Linux® embedded.