EMB_77

57 EMBEDDED SETTEMBRE MULTI-CORE RTOS | SOFTWARE Fig. 1 – Schema di un’architettura hardware multicore: i core di processore separati (in grigio) condividono molte risorse (in verde) che vanno dall’interconnessione alla memoria agli I/O stesso processore partizionando in modo robusto lo spazio di memorizzazione e il tempo di elabo- razione tra le applicazioni ospitate. Il partiziona- mento dello spazio di memorizzazione dedica una porzione di memoria separata a ciascuna applica- zione in esecuzione in un dato momento, imposta dall’unità di gestione della memoria del processo- re (MMU). Il partizionamento temporale divide À * principale” (“major frame”), in una sequenza di À À - zionamento temporale. Ad ogni applicazione ven- ' À ! - mento temporale, la cui lunghezza e il numero À ! dell’applicazione nel caso peggiore e la frequen- za di ripetizione richiesta. Il sistema operativo (OS) assicura che a ciascuna applicazione venga fornito l’accesso al core del processore durante il tempo assegnato. Per applicare queste tecniche safety-critical ai processori multicore è necessa- rio risolvere complesse problematiche, di cui la ' À - ! - no alle risorse condivise. Come risolvere il problema delle interferenze tra i core Il documento CAST-32A fornisce una guida al À ! - ma delle interferenze nei processori multicore. Un approccio è quello di creare un caso d’uso spe- ciale basato sul collaudo e sull’analisi del WCET per ogni applicazione/partizione e sul loro utiliz- zo delle risorse condivise nel caso peggiore. Le soluzioni per casi d’uso speciali, tuttavia, posso- no sfociare nel vendor lock-in (il vincolarsi a un À l’intero sistema nel momento in cui si decide di cambiare una qualsiasi applicazione o partizione, À - cativa all’implementazione e alla sostenibilità di un sistema modulare avionico integrato (IMA). Se il sistema operativo non possiede meccanismi o strumenti in grado di mitigare le interferenze,

RkJQdWJsaXNoZXIy MTg0NzE=