022025 · Compilation & VM
Corewar
Assembleur et machine virtuelle en mémoire partagée.
CBashValgrind
01Contexte
Projet d'envergure d'Epitech mêlant compilateur, machine virtuelle et combat de programmes en mémoire partagée.
02Fonctionnalités clés
VM avec ordonnanceur cyclique et 16 instructions
Mémoire arène 6 KiB partagée entre processus
Système de live et détection de mort des champions
Affichage de la mémoire à un instant T donné
Gestion des actions exécutées par les champions
03Défis & solutions
Problème
Écriture de chaque bit sans écraser le précédent.
Solution
Bit shifting avec opérateur binaire pour placer la prochaine valeur.
Problème
Ordonnancement équitable des processus tout en restant performant.
Solution
Compteur de cycle décrémentiel par instruction, évitant tout recalcul inutile.
04Apprentissages
- Conception d'une VM et compréhension du bytecode
- Gestion d'écriture binaire
- Compréhension et gestion de processus