Recursos y contribución
Herramientas y bibliografía
No necesitas reinventar la rueda, solo aprender a usarla. Esta es la colección curada de herramientas y lecturas que te ahorrarán horas de frustración durante el semestre.
El "Golden Stack" (Software obligatorio)
Estas son las herramientas estándar de la industria que usaremos. Instálalas antes de la primera clase práctica.
Si usas Windows para tu entorno de ejecución. No uses WSL 1. Asegúrate de que al correr wsl -l -v diga versión 2.
Instala el pack: "C/C++" (Microsoft), "WSL" (Microsoft) y "Hex Editor" (para inspeccionar binarios).
Vital para el Proyecto 1 (Malloc). Detecta fugas de memoria (leaks) que tu ojo no ve. sudo apt install valgrind.
El control de versiones es innegociable. Aprende a usar git add, commit, push y checkout desde la terminal.
Bibliografía de combate
Olvídate de los libros de texto de los años 90. Estos son los recursos modernos que realmente explican cómo funciona Linux hoy.
1. La biblia: OSTEP
Operating Systems: Three Easy Pieces (Remzi & Andrea Arpaci-Dusseau). Es gratuito, moderno y explica la virtualización y concurrencia con código real, no con diagramas abstractos.
Leer OSTEP gratis2. El estándar académico ("The Dinosaur Book")
Operating System Concepts (Abraham Silberschatz, Peter Baer Galvin, Greg Gagne). Es la referencia formal en todas las universidades del mundo. Si necesitas una definición teórica precisa, diagramas de arquitectura detallados o entender algoritmos de planificación a profundidad, este es el lugar.
- Uso recomendado: Consulta para profundizar conceptos teóricos de las Unidades I y II.
3. Manuales de referencia
The Linux Programming Interface (TLPI): Si quieres saber cómo funciona una syscall específica, este es el lugar.
Leer TLPIProtocolo de contribución
Esta wiki y los ejercicios son proyectos de código abierto (Open Source). Al igual que el kernel de Linux, este curso mejora con la colaboración de la comunidad.
¿Encontraste un error? ¿Una explicación confusa? ¿Quieres agregar un ejemplo mejor?
No me escribas un correo. Haz un Pull Request.
1. Haz un Fork
Crea una copia del repositorio de la documentación en tu cuenta de GitHub.
2. Crea una rama (Branch)
Nunca trabajes en main. Crea una rama descriptiva: git checkout -b fix/typo-en-malloc.
3. Edita y haz Commit
Realiza tus mejoras usando Markdown. Mantén el tono técnico y profesional.
4. Abre el Pull Request (PR)
Envía tus cambios al repositorio original. Si tu contribución es aceptada, tu nombre quedará inmortalizado en el historial del curso y ganarás puntos de "Karma" (apreciación extra en la defensa de proyectos).
Canales de comunicación
- GitHub Issues: Para reportar bugs en los ejercicios de C-lings o en la especificación de los proyectos.