Ingeniería de sistemas operativos (6.1810)
Introducción a xv6
- xv6: sistema operativo educativo desarrollado en el verano de 2006, basado en Unix V6.
- Objetivo: fue portado a RISC-V para la nueva materia de licenciatura 6.1810.
Código fuente y texto de xv6
- Código fuente y texto más recientes:
Unix versión 6
- Inspiración: inspirado en Unix V6 y en Lions' Commentary on UNIX' 6th Edition de John Lions.
- Código original: se puede acceder en línea a través de The Unix Heritage Society.
- Material de referencia:
- The PDP11/40 Processor Handbook, Digital Equipment Corporation, 1972.
- Hay versiones en PDF y en la web disponibles.
Retroalimentación
- Contacto: si has usado xv6 o lo has usado en una clase, reciben comentarios.
- Russ Cox: rsc@swtch.com
- Frans Kaashoek: kaashoek@mit.edu
- Robert Morris: rtm@mit.edu
- 61810-staff@lists.csail.mit.edu
Opinión de GN⁺
- Valor educativo: xv6, al estar basado en Unix V6, es útil para aprender los principios básicos de los sistemas operativos.
- Port a RISC-V: al haber sido portado para adaptarse a una arquitectura de hardware moderna, es adecuado para entornos educativos actuales.
- Accesibilidad de código abierto: cualquiera puede acceder al código fuente y modificarlo, lo que favorece el aprendizaje y la investigación.
- Sistema de retroalimentación: al aceptar activamente comentarios de los usuarios, es muy probable que siga mejorando de forma continua.
- Material relacionado: se ofrecen diversos materiales de referencia y documentos que ayudan en el aprendizaje.
1 comentarios
Comentarios de Hacker News
Tomé esta clase en MIT. La recomendaría especialmente a personas sin experiencia en sistemas. El libro de texto es fácil de entender y las prácticas ayudan mucho a comprobar la comprensión. En el primer intento, conviene saltarse el driver de red.
Tomé en MIT una clase que usa este sistema operativo. Es realmente excelente. En el sitio web del curso se pueden ver las notas de clase, las prácticas y las versiones de xv6. Es muy abierto.
En la universidad trabajé sobre el sistema operativo xv6 para un proyecto de la clase de sistemas operativos. Había un proyecto para crear un scheduler, y fue muy bueno para aprender distintas partes de un sistema operativo.
En una universidad de España se usó Plan9 con fines educativos.
Cuando leí el título por primera vez, pensé que era una nueva versión del viejo visor de imágenes xv.
Quería entender el kernel de Windows NT. Escuché que las versiones iniciales eran más simples. Hay rumores de que se parece a VMS. Me pregunto si habrá material sobre VMS. OpenVMS es de código abierto, pero su versión es demasiado avanzada.
Me pregunto por qué usan Unix v6. Tengo dudas de que tenga sentido enseñar los fundamentos de sistemas operativos con un diseño de hace 50 años. Para enseñar scheduling, IPC, manejo del espacio de direcciones y demás, parecería mejor un diseño de microkernel.
Me pregunto cómo podría seguir este curso alguien autodidacta.
Plan 9 también tiene una base de código fácil de entender.
El semestre pasado usamos PintOS en la clase de sistemas operativos. Ojalá hubiera una segunda parte del curso que lo tratara con más profundidad.