Lo que malloc realmente hace bajo el capó

What is malloc doing, anyway?

malloc ofrece una interfaz sencilla, pero detrás hay mucho más: glibc pide memoria al kernel mediante brk y luego la reparte en fragmentos con cabeceras de tamaño. El artículo construye paso a paso un asignador propio con sbrk, listas de bloques libres, división y fusión de fragmentos, y explica la paginación bajo demanda: la memoria virtual solo ocupa RAM cuando se escribe en ella. También muestra cómo devolver memoria al kernel bajando el break.

Cada proceso ve memoria virtual, que el kernel mapea sobre la RAM física en páginas de 4 KiB. Esa separación permite al kernel entregar rangos de direcciones sin RAM física detrás: una página virtual solo necesita respaldo físico en su primera escritura.
  1. assumed_throwaw

    Aunque sea tangencial, la complejidad y la sobrecarga de la abstracción de malloc son precisamente lo que me intrigó mucho de los lenguajes "solo pila", como el recién publicado Goose. Hay algo muy elegante y emocionante en la idea de deshacerse de ella (casi) por completo. Así como los lenguajes de programación modernos han desarrollado una buena ergonomía que reemplaza a un recolector de basura, ojalá se pueda hacer lo mismo para reemplazar la memoria asignada en el heap.

  2. K0IN

    Cuando me metí en wasm cuando era nuevo y tenía soporte de clang, escribí mi propia libc y malloc, lo que fue un gran aprendizaje de todas estas funciones de bajo nivel y trucos (listas libres, por ejemplo); también me gusta que puedo leer wasm bastante bien, y las herramientas son buenas para simplemente devolver un .wat y leerlo.

  3. projectileboy

    Buen recurso de aprendizaje para este tema (y otros relacionados): https://cs61.seas.harvard.edu/site/2026/

  4. bajard

    Malloc() es lentíiiisimo. Aún más si además usas free(). Considera asignar un único array y trabajar ahí si es posible.

  5. wpmaven

    Encontré este muy bien explicado hace tiempo, para quienes busquen más detalles: https://sploitfun.wordpress.com/2015/02/10/understanding-gli...

Más de este día

2026-11-09