Desfragmentação de memória em sistemas embarcados - de Melo, Elielder Belchior; de Melo, Vinicius Augusto Passarella; Dantas, Leandro Poloni; de Sousa, Fernando Simplicio (Revista Brasileira de Mecatrônica | Brazilian Journal of Mechatronics, 2022)
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.