Esta es mi implementación de los laboratorios de la clase de posgrado del sistema operativo del MIT 6.828. (MIT ofrece con gracia su material de curso al público).
Lo siguiente se cita desde el sitio web.
El laboratorio se divide en 6 partes principales que se construyen entre sí, que culminan en un sistema operativo primitivo en el que puede ejecutar comandos simples a través de su propio caparazón. Reservamos la última conferencia para que demuestre su sistema operativo al resto de la clase.
El sistema operativo que construirá, llamado JOS, tendrá funciones similares a Unix (por ejemplo, horquilla, ejecutivo), pero se implementa en un estilo de exokernel (es decir, las funciones UNIX se implementan principalmente como biblioteca a nivel de usuario en lugar de incorporado al núcleo). Las partes principales del sistema operativo JOS son:
- Arranque
- Gestión de la memoria
- Entornos de usuario
- Multitarea preventiva
- Sistema de archivos, engendros y shell
- Controlador de red
- Proyecto abierto
Proporcionaremos el código de esqueleto para piezas de Jos, pero tendrá que hacer todo el trabajo duro.
Consulte la página web de laboratorio para ver la configuración completa.
Una forma simple de probar el proyecto es usar una imagen de Docker.
Docker Build -t Jos.
Se puede usar con:
docker run -v $(pwd):/to_build -it jos
Esto abre un caparazón en un entorno con el compilador correctos y QEMU.
make
make qemu-nox
TODO: Agregue GDB y QEMU con X