EMB_71

EMBEDDED FEBBRAIO 40 SOFTWARE | MULTICORE OS P er i progettisti impegnati nello sviluppo di software real-time embedded, la rapida dif- fusione dei processori multi-core nel progetto di sistemi ha quasi inevitabilmente comportato l’in- sorgere di alcune problematiche. Ad esempio, è necessario preoccuparsi di aver perso l’essenza (ovvero la parte più importante) del controllo re- al-time nel tentativo di disporre di una maggiore potenza di elaborazione o di ridurre dimensioni, peso e potenza (SWaP - Size, Weight and Power)? Agli sviluppatori viene chiesto di consolidare un numero sempre maggiore di applicazioni e servizi con diversi gradi di criticità a livello di sistema su più core sfruttando il sistema operativo (che mol- to spesso è Linux), lasciando a quest’ultimo l’one- re di gestire le complessità legate al controllo in tempo reale. In questo modo si vengono a creare nuovi problemi non previsti che si manifestano una volta che i sistemi sono stati consegnati. Il problema della sicurezza Il problema, abbastanza ovvio ma che solita- mente è minimizzato, è la sicurezza (Fig. 1). Le applicazioni sempre più spesso, dipendono dal collegamento ad altri sistemi, spesso sfruttando Internet. Questo è un vettore di attacco partico- larmente aggressivo dal quale è necessario di- Controllo in real time su processori multi-core: il ruolo del sistema operativo John Blevins Director of Products Lynx Software Technologies fendersi. Il problema è rappresentato dal fatto che non è possibile sapere cosa sta succedendo nelle miriadi di thread che Linux sta eseguendo. È quindi possibile affermare che i sistemi sono sicuri “by design” (o, in altre parole che la sicu- rezza è stata presa in considerazione durante la progettazione e lo sviluppo del codice)? O avere À operativo? In un mondo sempre più connesso la risposta è chiaramente negativa, e per i proget- tisti di sistemi di controllo lo è sempre stata. Nel contempo è necessario riutilizzare codice legacy del quale si hanno scarse notizie riguardanti la sua provenienza e integrare il tutto in un proces- sore multi-core. Potrebbe sembrare un problema quasi impossibile da risolvere, ma fortunata- mente non lo è. Esistono svariati modo per trarre vantaggio da un approccio basato su sistemi mul- ti-core, ma non attraverso un sistema operativo. Relativamente al sistema operativo, il proble- ma nasce dal fatto che poiché i suoi servizi sono ora estesi su più core, non è più in grado di ga- rantire a uno dei principi fondamentali per la realizzazione di sistemi sicuri, ovvero il princi- pio del minimo privilegio (least privilege). Esso in sintesi afferma che “ogni modulo deve avere accesso solamente alle informazioni necessarie per svolgere il proprio lavoro”. La maggior parte Le architetture dei sistemi operativi non sono state progettate per garantire la sicurezza quando utilizzati nei moderni processori multi-core, per cui è necessario adottare un nuovo approccio

RkJQdWJsaXNoZXIy MTg0NzE=