Création d'un OS et d'un compilateur

Lors du projet de compilation, nous avons fait face à un projet de grande ampleur, nécessitant une conception logicielle, une validation via des bancs de tests, une vérification au sein d'une démarche qualité. Cela nous a appris les concepts sous-jacents de ce que l'on utilise au quotidien sans réfléchir en programmation. Nous avons donc développé, à 8 et en 3 semaines à temps plein, un compilateur d'un langage basé sur le JAVA.

Le second projet était un projet Système. Avec simplement du code assembleur permettant de lancer un processus initial, nous avons du coder les fonctionnalités suivantes : la création et l'exécution des processus, leur synchronisation, leur ordonnancement, la gestion des entrées/sorties, l'implémentation d'un shell.

Ce second projet, durant 1 mois à temps plein, en équipe de 6 m'a énormément appris, en terme de gestion de temps et travail d'équipe dans un premier temps. Mais il m'a aussi appris sur le plan technique, à comprendre les bases de ce qu'on manipule tous les jours, à bas niveau : Comment gérer la mémoire, les messages passés entre processus, leur ordre, leur cycle de vie. Ce projet a été l'un des plus intéressant à mon goût.