Ceci est ma mise en œuvre des laboratoires de la classe supérieure 6.828 du système d'exploitation du MIT. (MIT propose gracieusement leur matériel de cours au public).
Ce qui suit est cité sur le site Web.
Le laboratoire est divisé en 6 parties principales qui s'appuient les unes sur les autres, culminant dans un système d'exploitation primitif sur lequel vous pouvez exécuter des commandes simples via votre propre shell. Nous vous réservons la dernière conférence pour faire la démonstration de votre système d'exploitation au reste de la classe.
Le système d'exploitation que vous construirez, appelé JOS, aura des fonctions de type UNIX (par exemple, Fork, Exec), mais est implémentée dans un style Exokernel (c'est-à-dire que les fonctions UNIX sont implémentées principalement en tant que bibliothèque au niveau de l'utilisateur au lieu de intégrer le noyau). Les principales parties du système d'exploitation JOS sont:
- Démarrage
- Gestion de la mémoire
- Environnements utilisateur
- Multitâche préemptive
- Système de fichiers, frai et shell
- Pilote de réseau
- Projet ouvert
Nous fournirons du code squelette pour des pièces de Jos, mais vous devrez faire tout le travail acharné.
Voir la page Web de laboratoire pour la configuration complète.
Un moyen simple d'essayer le projet consiste à utiliser une image Docker.
docker build -t jos.
Il peut être utilisé avec:
docker run -v $(pwd):/to_build -it jos
Cela ouvre un shell dans un environnement avec le bon compilateur et Qemu.
make
make qemu-nox
TODO: Ajouter GDB et QEMU avec x