print · rss · source

< Sommaire | TutoOS | Réaliser un secteur de boot qui affiche un message >


Avertissements

  • J'ai essayé de rendre les explications les plus simples possibles. Néanmoins, si vous vous faites des migraines en raison de mes explications filandreuses, n'hésitez pas à me contacter, je pourrais alors essayer de clarifier les choses.
  • Si le code source vous nargue en refusant de fonctionner, essayez de relire les explications. Bien sûr, vous pouvez toujours me contacter si quelque chose vous semble erroné, mais dans tous les cas, essayez d'expliquer votre démarche et de joindre le fichier de logs de votre émulateur.

Pourquoi ce tutoriel ?

Programmer le noyau d'un système d'exploitation est un très bon moyen pour en comprendre le fonctionnement, et c'est dans cette optique que j'ai moi-même commencé le développement de Pépin.
Ce tutoriel tente de guider le programmeur dans ses premiers pas en décortiquant la base de la réalisation d'un noyau et en en présentant les composantes élémentaires. A chaque fois que les sources d'un nouveau noyau sont proposées en exemple dans un chapitre, j'ai essayé de minimiser le nombre de lignes de code supplémentaire par rapport à celles du chapitre précédent. Vous pourrez donc utiliser la commande diff pour bien voir les parties modifiées ou ajoutées d'un chapitre à l'autre.

Pré-requis

Compétences

Une partie du noyau est codée en assembleur i386 et le reste est codé en langage C. La maîtrise de ce dernier ainsi que la connaissance des notions de base en assembleur sont donc un préalable à la compréhension de ce tutoriel.

Même si les notions importantes relatives à l'architecture i386 sont expliquées ici au fur et à mesure, la lecture du document suivant est fortement recommandée :

Toutes les informations relatives à l'architecture Intel et à certains microcontrôleurs sont téléchargeables :

Les spécifications permettant d'écrire un noyau respectant le standard Multiboot :

Concernant le format ELF :

Outils

  • nasm est un excellent assembleur open source.
  • gcc est un compilateur portable et performant.
  • bochs est un émulateur d'architecture i386 complet qui est très pratique pour tracer le fonctionnement des premiers kernels. Cela permet de les déboguer plus facilement.

Ressources sur le web

Et aussi, pour ceux qui débutent en administration système, je recommande l'excellentissime Guide du Rootard.


< Sommaire | TutoOS | Réaliser un secteur de boot qui affiche un message >

print · rss · source
Page last modified on May 06, 2012, at 02:25 PM