COSMOS - C# Open Source Managed Operating System
Publié le 7 Septembre 2013
J'ai commencé à participer au projet Cosmos, parce que c'est trop fou furieux pour que je passe à coté.
Le projet est composé de 3 grandes partie :
- Le système de build/compilation. Parce que le compilo C# génère de l'IL et le CPU ne comprend pas l'IL. Alors il y a un truc que je ne veux même pas chercher à comprendre qui génère du code Intel a partir du code IL.
- La partie kernel, du moins un bout de kernel, c'est en fait une librairie qui va du bootstrap jusqu'aux driver. La boucle principale est laissée aux bons soins du user kit.
- Le userkit permet a un utilisateur qui veut créer son propre système d'exploitation en utilisant les libs (point 2) et outils (point 1).
C'est la partie 2 qui m’intéresse, le kernel. J'écrirai de la doc a ce sujet, dans le code du projet, et sur ce blog. Un kernel simple n'est pas si compliqué que ca. Par contre l'architecture PC hérite de foirages particulièrement velus.
PS : Le projet utilise Syslinux comme bootloader, on s'épargne donc un bout de l’héritage "velu" de l'architecture PC. Mais juste un bout :)