Construir un asignador de memoria slab para una distribución embebida
Visión general
De qué trata este proyecto.
Implementa en C un asignador slab con caches de 16/32/64/128/256 bytes, listas libres por cache y reciclado de slabs vacíos. Mide latencia de asignación, fragmentación interna y huella residente máxima (RSS) contra ptmalloc/jemalloc usando una traza real del dispositivo (proporcionada, 12 millones de operaciones). Documenta limitaciones: no es thread-safe en esta primera versión y no maneja objetos mayores de 256 bytes. Entrega la librería, un test runner con assertions, un benchmark reproducible y un informe técnico de 5 páginas con recomendación clara: integrar o no.
El Briefing
Lo que harás y lo que demostrarás.
Construir y medir un asignador slab en espacio de usuario que reduzca fragmentación y latencia frente a malloc/free para objetos de tamaño fijo en un router industrial con 64 MB de RAM.
Earning criteria — what you'll demonstrate
- Implementar gestión de memoria basada en slabs y entender por qué reduce fragmentación
- Medir latencia, fragmentación y RSS con disciplina experimental
- Comparar honestamente contra asignadores de uso general como ptmalloc y jemalloc
- Documentar limitaciones y rutas de evolución (thread-safety, objetos grandes)
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Quien construye y mide un asignador a este nivel demuestra un dominio de sistemas que muy pocos perfiles juniores tienen, y abre la puerta a roles en firmware y bajo nivel.
Este proyecto afina
- c-programming
- memory-management
- systems-programming
Arquitecto de Sistemas
Razonar sobre fragmentación, RSS y trazas reales es la base para decidir más adelante entre asignadores, libc alternativas o arquitecturas sin asignación dinámica.
Este proyecto afina
- memory-management
- performance-analysis
- operating-systems
Ingeniero de Backend
Dominar perf y benchmarking riguroso traslada directamente a depurar problemas de cola larga en servicios de alto throughput.
Este proyecto afina
- benchmarking
- performance-analysis
- systems-programming