Imaging tiene algunos bytes que contienen memoria: [++++++ ----- ++++ - ++ - ++++++++ -------- +++ ++]¿Cómo calcular la fragmentación?
Digamos que "+" significa asignado y "-" significa libre.
Estoy buscando la fórmula de cómo calcular el porcentaje de fragmentación.
Antecedentes: estoy implementando una pequeña gestión de memoria dinámica para un dispositivo integrado con memoria estática. Mi objetivo es tener algo que pueda usar para almacenar pequeñas cantidades de datos. La mayoría de los paquetes entrantes a través de la conexión inalámbrica ~ 128 bytes cada uno.
Gracias por su ayuda.
Ahh ... I ver. Depende de qué tan grande sean mis bloques de asignación. – Bigbohne
Si todos sus bloques son aproximadamente del mismo tamaño, y su memoria es estática y su sistema demasiado pequeño para usar el almacenamiento en memoria caché para el acceso a la memoria, la fragmentación puede no importar; debe hacer un seguimiento de las ranuras libres y cuáles no, pero saltar en el acceso no debería costar mucho. Eso contrasta con una unidad de disco electromecánica en la que hay que mover las cabezas cuando se salta, o tal vez un sistema de DRAM y chache lentos donde saltarse podría causar una gran cantidad de errores de caché. –