Casa > Exposició > Contingut

Sistema operatiu en temps real Assignació de memòria

Mar 08, 2019


L'assignació de memòria és més crítica en un sistema operatiu en temps real que en altres sistemes operatius.


En primer lloc, per a l’estabilitat no hi pot haver pèrdues de memòria (memòria assignada però que no s’allibera després de l’ús). El dispositiu hauria de funcionar indefinidament, sense necessitat de reiniciar-lo. Per aquest motiu, l’assignació de memòria dinàmica no s’ha vist bé. [Cita requerida] Sempre que sigui possible, l’assignació de memòria necessària s’especifica estàticament en temps de compilació.


Un altre motiu per evitar l’assignació de memòria dinàmica és la fragmentació de memòria. Amb l'assignació freqüent i l'alliberament de petits trossos de memòria, es pot produir una situació quan la memòria disponible es divideix en diverses seccions i el RTOS no és capaç d'assignar un bloc de memòria suficientment gran tot i que hi hagi suficient memòria lliure. En segon lloc, la velocitat d’assignació és important. Un esquema estàndard d’assignació de memòria escaneja una llista enllaçada de longitud indeterminada per trobar un bloc de memòria lliure adequat, que és inacceptable en un RTOS, ja que l’assignació de memòria ha de tenir lloc durant un cert temps.


Com que els discs mecànics tenen temps de resposta més llargs i impredictibles, l’intercanvi en fitxers de disc no s’utilitza per les mateixes raons que l’assignació de memòries anteriors.


L’algorisme simple de blocs de mida fixa funciona prou bé per a sistemes incrustats simples a causa del seu baix cost.