Che cos'è Embedded Linux®?
Il termine "embedded Linux®" può essere utilizzato per descrivere qualsiasi variante del sistema operativo Linux® open source in esecuzione su un sistema informatico incorporato: un dispositivo o una piattaforma orientati allo scopo integrati in un prodotto globale più ampio come un dispositivo elettronico di consumo o un pezzo 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 di elaborazione embedded. Linux®, tuttavia, può presentare uno svantaggio in termini di prestazioni in alcuni scenari perché necessita di software aggiuntivo per funzionare come sistema operativo in tempo reale (RTOS), un requisito per alcuni sistemi embedded. Nonostante ciò, una varietà di distribuzioni Linux® personalizzate sono state utilizzate per sistemi embedded, che vanno dai telefoni cellulari alle apparecchiature di test avionici.
Un computer incorporato differisce da un personal computer (PC) in quanto il sistema incorporato è progettato o costruito per uno o più scopi specifici, mentre i PC sono pensati per una vasta gamma di funzioni. Un computer incorporato può essere progettato con il minimo delle prestazioni richieste per raggiungere i suoi obiettivi specifici, risultando in una piattaforma per computer leggera e altamente efficiente. La categoria comprende una vasta gamma di dispositivi informatici, dai dispositivi elettronici di consumo alle apparecchiature avioniche, ai rover e ai veicoli spaziali che esplorano il sistema solare. Come ogni computer, tuttavia, l'hardware di un sistema incorporato è inutile senza una piattaforma software e in molti casi la piattaforma software scelta è una forma di Linux® incorporato.
Linux® si è dimostrato popolare in numerosi settori di elaborazione embedded grazie al suo alto livello di personalizzazione e flessibilità, oltre 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 determinato sistema. Il supporto per una varietà di diverse architetture di microprocessori è anche un vantaggio importante offerto da Linux® incorporato poiché i sistemi embedded possono usare un microprocessore che è abbastanza diverso da quelli presenti nei PC. Come progetto software open source, Linux® può anche essere utilizzato senza le restrizioni e le royalties che potrebbero essere presenti nelle offerte commerciali.
I sistemi integrati richiedono spesso un sistema operativo in tempo reale, un sistema operativo in grado di rispondere agli eventi in 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 nell'uso di Linux® incorporato poiché questo software aggiuntivo consuma più risorse.
Alcune versioni di Linux® incorporato possono essere create quasi da zero, mentre altre sono versioni leggermente modificate delle distribuzioni esistenti. Entrambe le organizzazioni commerciali e non commerciali offrono le loro distribuzioni precostruite destinate a produttori e aziende di design. I telefoni cellulari e i lettori multimediali, ad esempio, usano comunemente varietà standard di Linux® incorporato. I chioschi di elaborazione o le appliance di rete potrebbero utilizzare solo una versione leggermente modificata di una distribuzione Linux® desktop.
In settori con requisiti in tempo reale o prestazionali altamente esigenti, l'utente finale è spesso fortemente coinvolto nella progettazione del sistema. La National Aeronautics and Space Administration (NASA), ad esempio, ottiene il software Linux® da fornitori esterni, ma fissa le linee guida che i fornitori devono seguire. Altre organizzazioni, come quelle che producono apparecchiature per i test di avionica, possono scegliere di sviluppare il proprio sapore di Linux® incorporato.