Sistemas
Por qué construir tu propio shell cambia cómo ves una computadora
Una terminal parece una caja de texto. Por debajo coordina procesos, archivos y señales. Construir una revela el sistema operativo que siempre estuvo ahí.
La interfaz más pequeña hacia el sistema operativo
Un shell comienza con un ciclo casi trivial: muestra un prompt, lee una línea y ejecuta lo que escribiste. Esa aparente sencillez es justo lo que lo convierte en un gran proyecto. Cada nueva función abre una puerta distinta del sistema operativo.
Para lanzar un comando necesitas crear un proceso, reemplazar su programa y esperar a que termine. Cuando agregas pipes, redirecciones y señales, dejas de estudiar conceptos aislados: empiezas a ver cómo cooperan.
Los errores se convierten en el mapa
La primera vez que un descriptor queda abierto o una señal interrumpe algo inesperadamente, el error no es un desvío del aprendizaje. Es el aprendizaje. Te obliga a construir un modelo preciso de recursos, propiedad y tiempo de vida.
Ese modelo reaparece después en servidores, contenedores y sistemas distribuidos. No porque todos sean shells, sino porque todos dependen de los mismos fundamentos.
Construir para poder explicar
Saber definir fork o exec no equivale a saber usarlos juntos. Un proyecto te exige convertir vocabulario en decisiones. Al final no solo puedes describir lo que hace una terminal: puedes razonar sobre por qué lo hace así.