Lessico IT › Programmazione › Allocazione statica della memoria

Allocazione statica della memoria

Programmazione Svenska → Aggiornato: 2026-11-04

La pratica di riservare ogni byte necessario al programma in fase di link, in modo che nulla debba essere richiesto a runtime.

Su un microcontrollore con 32 KB di RAM e una vita operativa di anni, malloc è più un rischio che una comodità. L'heap si frammenta lentamente, un'allocazione può fallire tre settimane dopo l'installazione e i tempi di esecuzione sono imprevedibili. MISRA C vieta del tutto l'allocazione dinamica, e molte norme di sicurezza richiedono lo stesso.

L'alternativa sono buffer globali, stack statici e allocatori a pool di dimensione fissa. Il linker indica allora con esattezza quanta RAM viene usata già in compilazione: esaurire la memoria diventa un errore di build invece di un guasto presso il cliente. FreeRTOS ha introdotto funzioni come xTaskCreateStatic nella versione 9 proprio per questo motivo, così che stack e blocchi di controllo dei task possano stare fuori dall'heap.

← Torna al lessico