Desfragmentação de memória em sistemas embarcados
Palavras-chave:
Fragmentação, Memória Dinâmica, HeapResumo
Com a crescente complexidade das aplicações embarcadas, a área de memória dinâmica é utilizada para aumentar a capacidade das aplicações em tempo de execução. No entanto, as sucessivas alocações e liberações de memória causam um efeito chamado fragmentação de memória, que são espaços não alocados e não sequenciais. Sendo assim, este artigo apresenta um novo algoritmo que objetiva retirar as lacunas de memória por conta das desalocações de memória. O processo se dá pela divisão do espaço de memória dinâmica, heap, alocação e desalocação de objetos e reorganização do heap, com a troca dos objetos entre o heap e seu espelho complementar. Com a implementação do algoritmo, alocações e desalocações são feitas sem que ocorram fragmentações na memória e preservando a integridade dos dados. Por outro lado, a maior demanda computacional imposta pelo algoritmo é justificada principalmente em sistemas embarcados complexos e robustos.