Inicio

Recursos y contribución

El "stack" tecnológico oficial, bibliografía recomendada y cómo mejorar esta documentació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.

WSL 2 (Ubuntu 24.04)

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.

VS Code + Extensiones

Instala el pack: "C/C++" (Microsoft), "WSL" (Microsoft) y "Hex Editor" (para inspeccionar binarios).

Valgrind

Vital para el Proyecto 1 (Malloc). Detecta fugas de memoria (leaks) que tu ojo no ve. sudo apt install valgrind.

Git & GitHub CLI

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 gratis

2. 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 TLPI

Protocolo 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

Regla de oro de la comunicación
No envíes código por WhatsApp ni capturas de pantalla de código. Usa enlaces a GitHub Gists o bloques de código formateados.
  • GitHub Issues: Para reportar bugs en los ejercicios de C-lings o en la especificación de los proyectos.