Implementar un planificador MLFQ en el kernel docente xv6
Visión general
De qué trata este proyecto.
Forka el repositorio xv6-riscv e implementa MLFQ en proc.c con 3 colas de prioridad, rodajas de tiempo por cola (10ms / 20ms / 40ms), degradación al agotar la rodaja y un boost periódico cada 100ms para evitar inanición. Añade una llamada al sistema estilo sysinfo que exponga estadísticas por proceso (cola actual y tiempo total ejecutado). Escribe 3 benchmarks: mezcla CPU-bound vs I/O-bound, simulación de teclado interactivo y regresión de inanición. Entrega el parche git, los scripts de benchmark y un informe de 6 páginas con decisiones de diseño, resultados y una sección honesta sobre lo que tu implementación NO cubre (por ejemplo multi-core).
El Briefing
Lo que harás y lo que demostrarás.
Implementar y medir un planificador Multi-Level Feedback Queue en el kernel docente xv6 para que la persona estudiante vea las decisiones reales entre interactividad y rendimiento.
Earning criteria — what you'll demonstrate
- Implementar planificación preemptiva basada en prioridades en un kernel real
- Razonar sobre las diferencias entre cargas CPU-bound y I/O-bound
- Usar estructuras de datos del kernel (tabla de procesos, colas de ejecución) de forma segura ante cambios de contexto
- Diseñar benchmarks que aíslen la variable que realmente quieres medir
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
Entregar un parche de kernel funcional con benchmarks es la evidencia a nivel de sistemas que diferencia a una persona recién egresada de quienes solo presentan portafolios de aplicaciones web.
Este proyecto afina
- c-programming
- kernel-development
- systems-programming
Ingeniero de Backend
Entender las decisiones de planificación es lo que separa a las personas de backend capaces de depurar problemas de latencia de cola de quienes solo conocen perfilado a nivel de aplicación.
Este proyecto afina
- scheduling
- benchmarking
- systems-programming
Arquitecto de Sistemas
El trabajo manos a la obra en el kernel da el vocabulario para hacer recomendaciones creíbles a nivel de sistema operativo más adelante en la carrera profesional.
Este proyecto afina
- operating-systems
- scheduling
- kernel-development