Construye una shell mínima en C con redirecciones y tuberías
Visión general
De qué trata este proyecto.
Implementarás la shell en C99 usando fork, exec, dup2, pipe y waitpid. Soportarás comandos externos resueltos por PATH, redirecciones de entrada/salida y tuberías de N etapas. Builtins mínimos: cd, exit, echo. Implementarás un parser propio (no usar getopt ni readline) y un job control básico (Ctrl+C aborta el comando, no la shell). Entregarás código compilable con Makefile, suite de tests funcionales con bats, y un cuaderno de 8 páginas con la sesión presencial de 3 horas para alumnado.
El Briefing
Lo que harás y lo que demostrarás.
Construir una shell mínima en C que ejecute comandos externos, redirecciones, tuberías y 3 builtins, con código apto para servir de referencia didáctica.
Earning criteria — what you'll demonstrate
- Usar fork, exec, dup2, pipe y waitpid correctamente y sin fugas
- Implementar un parser de línea de comandos sin librerías de tercero
- Gestionar señales (SIGINT) sin matar el proceso shell
- Escribir código C didáctico, legible y comentado para terceras personas
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.
Ingeniera de Software de Sistemas
Escribir una shell mínima sin atajos es el ejercicio clásico que demuestra que una ingeniera entiende fork/exec, descriptores y señales — la base de roles de sistemas en Linux.
Este proyecto afina
- c-programming
- os-interfaces
- system-programming