Forum Programmation.c Un noyau tout petit, en C(++)

Posté par .
Tags :
2
2
mar.
2010
Bonjour forum !

Aujourd'hui, pour apprendre la programmation des systèmes d'exploitation, je cherche un noyau avec seulement le strict minimum, un code compréhensible, et pas trop "spaghetti".
Plutôt pour faire des expérimentations (Test d'ordonnanceur, test de concept, bidouille). En fait, j'aurai bien essayé avec linux, mais sa complexité me décourage (rien que le nombre de fichier dans le dossier "kernel" fait peur, alors...)

Il faut donc que ce noyau remplisse plusieurs conditions: multitâche (même minimal), possibilité d'être exécuté depuis Qemu (ou autre émulateur d'ailleurs), code source disponible (évidemment), code source commenté (au moins, un nom de fichier explicite), présence d'un README (Pour aider à démarrer), en C et/ou C++.

Voila.
  • # MINIX

    Posté par . Évalué à 10.

    Il est fait pour ça.
  • # Minix ?

    Posté par (page perso) . Évalué à 4.

    Tu peux peut-être jeter un oeil à Minix. C'est du micro noyau (6000 lignes) en C : http://www.minix3.org/

    Sinon pour Linux faut pas avoir peur mais faut pas essayer de tout comprendre d'un coup. Si tu veux faire des tests en remplaçant des sous-systèmes entiers, c'est effectivement pas fort adapté mais du coup Minix devrait pas mal convenir.

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

    • [^] # Re: Minix ?

      Posté par . Évalué à 1.

      A vue de nez, c'est ce qu'il me faut, mais j'ai des problèmes à la compilation: il apparait un nombre incroyable de:

      bootblock.s:193: Error: junk at end of line, first unrecognized character is `!'

      et d'autres erreurs.

      Est qu'il me faut un vieux compilateur pour la version 2 ? L'assembleur à changé depuis ?
  • # Nachos ?

    Posté par (page perso) . Évalué à 3.

    À l'Université de Bordeaux, on utilise Nachos pour l'enseignement de Système d'Exploitation.
  • # GMLF

    Posté par . Évalué à 2.

    Il y avait des articles dans GNU/Linux magazin france sur la conception d'un noyau. Je pense que ça peut-être une bonne piste. Mais je n'ai pas retrouver de numéro en ligne qui en parle. Il faut chercher dans les numéros sortie en 2004/2005 je pense.
    • [^] # Re: GMLF

      Posté par . Évalué à 2.

      sinon sur kernel.org tu as tout l'historique de linux,

      ftp://ftp.kernel.org/pub/linux/kernel/

      et la partie ftp://ftp.kernel.org/pub/linux/kernel/Historic/old-versions/ avec un noyau de 71ko :)
    • [^] # SOS

      Posté par . Évalué à 2.

      Il s'agit de simple OS (http://sos.enix.org) qui détaille pas a pas les étapes du développement d'un OS.
      Les articles sont dispos sur le site de SOS
      • [^] # Re: SOS

        Posté par . Évalué à 2.

        Rah, un nom comme cela, ça ne s'oublie pas normalement.
        • [^] # Re: SOS

          Posté par (page perso) . Évalué à 1.

          SOS est très intéressant mais je ne sais pas s'il va répondre aux attentes de William. En effet, SOS détaille comment créer un noyau monolithique pour archi x86 pas à pas. Alors que la question est d'avoir un OS assez simple qui permette de remplacer certaines briques pour tester de nouvelles choses si j'ai bien compris (genre voir ce que ça donne en remplaçant le scheduler par un autre, tester tel ou tel concept...). Ce qui reste assez haut niveau là où les articles de SOS détaillent plutôt du bas niveau.

          Cela dit, peut être qu'en se basant sur les derniers articles et donc sur les kernels SOS les plus aboutis, ça répondra à la demande ! (J'ai lu minutieusement que les 5 premiers articles, les autres j'ai à peine survolé)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.