un nouveau Minix

Posté par (page perso) . Modéré par Jaimé Ragnagna.
Tags :
0
25
oct.
2005
Communauté
Minix est un respectable OS, conçu par Andrew Tanenbaum quand la "propriétarisation" de Unix l'a empêché de montrer le code source d'un véritable système d'exploitation. Il a donc codé un clone fonctionnel.
Le code source de ce système a été publié dans son excellent livre "Les systèmes d'exploitation". Hélas, sous une licence non-libre, en grande partie à cause de l'éditeur du livre. Plus tard, en 1997, il est passé sous une licence libre.
Cet OS a toujours été supporté par ses qualités didactiques, son utilisation dans le milieu éducatif et une forte communauté d'utilisateurs sur le ng comp.os.minix, bien connu grâce à un certain finlandais.
Et cette communauté a publié la version 3 de Minix...

NdR: Merci à Diwann et Kartoch pour avoir proposé une dépêche similaire. ... que vous pouvez découvrir dans http://www.minix3.org/

traduction libre:
Minix 3 rajoute le nouvel objectif d'être utilisable comme un système sérieux sur des machines embarquées ou à ressources limitées, et pour des applications demandant une haute fiabilité.
Ce nouvel OS est très petit, la partie qui tourne en mode noyau fait moins de 4000 lignes de code exécutable. La partie qui tourne en mode utilisateur est divisée en petits modules, isolés les uns des autres.
Par exemple, chaque pilote de périphérique fonctionne comme un processus utilisateur séparé. Une bogue dans ce pilote (ce qui est la plus grande cause de problèmes dans tous les systèmes) ne peut écrouler l'intégralité du système.
En fait, quand un pilote se gaufre, il est automatiquement remplacé sans demander d'intervention de l'utilisateur, sans redémarrer, et sans affecter les programmes en cours.

Voilà, ayant pratiqué Minix dans ma jeunesse, et ayant suivi son évolution, je pense que c'est un nouveau beau jouet pour les geeks technophiles.
  • # Service temporarily unable

    Posté par . Évalué à 2.

    The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

    Ca tourne sous minix ?
  • # GNU/HURD?

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

    << La partie qui tourne en mode utilisateur est divisée en petits modules, isolés les uns des autres.

    Par exemple, chaque pilote de périphérique fonctionne comme un processus utilisateur séparé. Une bogue dans ce pilote (ce qui est la plus grande cause de problèmes dans tous les systèmes) ne peut écrouler l'intégralité du système.>>

    Cela ressemble au principe de Hurd.
    Va t'on découvrir que linus torvhald n'avait pas si raison que cela avec son noyau monolithique?

    (je ne suis pas assez qualifié pour en parler, mais j'éspère que les gourous réagirons à cette affirmation, ce qui est toujours instructif.:)
    • [^] # Re: GNU/HURD?

      Posté par . Évalué à 10.

      Hurd et Minix sont tous les deux des microkernel, ils ont donc les meme principes.

      Va t'on découvrir que linus torvhald n'avait pas si raison que cela avec son noyau monolithique?

      C'est justement ce que disait et continue de dire Tanenbaum , il compare l'OS de Linus à une machine à voyager dans le passé car au debut des années 90 il code un OS dont la conception date des annes 70!!!

      Cependant Linux, qui n'est plus simplement monolithique, est toujours plus efficace que les noyaux monolithque actuel.
      Pourtant au niveau de la conception et de la securité les micronoyaux sont beaucoup plus seduidant. Je ne comprends pas qu'il n'y ai toujours pas d'alternative valable au noyaux monolihique ou hybride, car vu la puissance des machine actuelles on pourrait bien sacrifer de la performance pour avoir un systeme encore plus stable et plus sur...
      • [^] # Re: GNU/HURD?

        Posté par . Évalué à 0.

        je crois que Mac os X utilise un micro noyau. si j'ai raison alors Mac os X (normal & server) sont de bon exemple du fonctionnement de ce genre de noyau.

        /me pense qu'il devrait regarder la documentation de Minix et celle de Hurd pour comprendre comment ca fonctionne.
        • [^] # Re: GNU/HURD?

          Posté par . Évalué à 4.

          Loupe!

          Le noyau de MacOS X (Darwin, Open Source) est a la fois base sur Free BSD 5.x (monolithique) et Mach 3.x (micro noyau).
          Mac Os X a donc un noyau
          hybride.

          Plus d'infos:
          http://en.wikipedia.org/wiki/Darwin_%28operating_system%29
          http://en.wikipedia.org/wiki/Mac_OS_X
          • [^] # Re: GNU/HURD?

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

            Hybride, hybride, c'est un bien grand mot. Pour moi, quand on intègre la partie "micro-noyau" (Mach) et la partie "espace utilisateur" (le successeur d'UX dont le code est majoritairement repris de FreeBSD) dans un noyau (tournant avec les privilèges réservés au noyau), on appelle ça un noyau monolithique. ;-)

            Au niveau de l'utilisation, MacOS X n'a pas les avantages d'un micro-noyau : si le noyau plante, quelle que soit la raison et la partie concernée, tout s'en va. On ne peut pas changer des parties substantiels du noyau en cours d'exécution.

            Au niveau du code, en revanche, MacOS X a certains avantages des micro-noyaux : une séparation encore nette entre le code du micro-noyau et le code BSD (même s'il y a des redondances nettes), la possibilité donc d'interfacer de nouveaux sous-systèmes en espace utilisateur avec le code de Mach, etc. Mais uniquement d'un micro-noyau à mono-serveur, ce qui, pour être souvent plus performant (et simple) que des systèmes multi-serveurs, apporte nettement moins d'avantages.
        • [^] # Re: GNU/HURD?

          Posté par . Évalué à 1.

          Je n'ai pas eu l'occasion de regarder pour Tiger, mais les premières versions de MacOS X avaient inventé une architecture assez particulière : un micro-noyau avec au dessus un seul service monolithique. Ou comment avoir les désavantages des micro-noyaux sans en avoir les avantages...

          En tout cas, une chose est sur : lorsque l'on compare le cout d'un fork ou la création d'un thread, on constate que l'impact sur les performances est loin d'être négligeable.
    • [^] # Re: GNU/HURD?

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

      Ca ressemble au principe d'un système fondé sur un micro-noyau et plusieurs serveurs, surtout. C'est ce principe que défendait déjà Andrew S. Tanenbaum dans sa discussion avec Linus, c'est celui qui est avancé par la littérature sur les micro-noyaux depuis 20 ans : bref, rien de spécifique à GNU/Hurd. ;-)

      Pour mettre les choses au clair à ce sujet : il n'y a pas plus de ressemblances que ça entre Minix et GNU/Hurd. Minix est un OS compatible POSIX implémenté avec un micro-noyau et plusieurs serveurs. Minix3 lui ajoute la caractéristique « léger ». Le Hurd a des objectifs nettement plus larges : fournir des abstractions nouvelles qui permettent de créer non seulement une personnalité POSIX, mais bien d'autres (respectant le principe énoncé dans le GNU Manifesto : repousser les limites chaque fois qu'on le peut - garder la compatibilité).

      Ca ne veut pas dire que Minix3 n'a aucun intérêt pour le Hurd : tout exemple d'un OS fonctonnel utilisant un micro-noyau et plusieurs serveurs est intéressant. Particulièrement si les pilotes de périphérique sont en espace utilisateur. Mais il y a probablement des exemples plus intéressants dans le domaine, parce que plus en phase avec nos buts.
      • [^] # Re: GNU/HURD?

        Posté par . Évalué à 2.

        Minix est un OS compatible POSIX

        ah ? ça y est ? ils l'ont la compatibilité POSIX ? jusqu'à présent il me semble que Minix n'implémentait qu'une partie de POSIX ...
        • [^] # Re: GNU/HURD?

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

          J'avoue que je n'ai pas encore eu le temps de vérifier si oui ou non Minix3 est *réellement* compatible POSIX : en tous cas, c'est ce que le site (voir http://www.minix3.org/doc/posix.html notamment) prétend. Ceci dit, je doute qu'il soit réellement compatible POSIX, ou alors ils ont eu le temps de faire un travail monstrueux de vérification. Il y a pas mal de points sur lequel GNU/Linux n'est pas "tout à fait" POSIX ou "partiellement POSIX", même si c'est suffisant dans la plupart des cas.

          Dans tous les cas, ça n'avait que peu d'importances dans mon argumentation : tu peux remplacer par "Minix est un OS visant la compatibilité POSIX" si ça te fait plaisir ;-)
    • [^] # Re: GNU/HURD?

      Posté par . Évalué à 4.

      >Va t'on découvrir que linus torvhald n'avait...

      Là, il y a vraiment besoin d'un correcteur orthographique intégré à Linuxfr ;-)
  • # euh...

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

    > la partie qui tourne en mode noyau fait moins de 4000 lignes de code exécutable

    Il faut comprendre ça comment à votre avis (c'est la même chose sur le site officiel)? C'est 4000 lignes de code avant la compilation (donc non exécutable), ou bien c'est un exécutable qui fait 4000 lignes (et elles peuvent être longues les lignes dans un fichier binaire). A moins que el noyau de Minix soit programmé en Perl? ;-)
    • [^] # Re: euh...

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

      La phrase est mal tournée, mais je pense que par ligne de code exécutable, il veulent dire une ligne qui contient vraiment du code, pas une ligne vide ou un commentaire.
      • [^] # Re: euh...

        Posté par . Évalué à -6.

        par opposition à code mort ?
    • [^] # Re: euh...

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

      Je pense que ça veut dire qu'il ne compte pas les commentaires et les lignes vides. Donc 4000 lignes de vrai code.
      Et sinon, il me semble bien que c'est du C.
    • [^] # Re: euh...

      Posté par . Évalué à -1.

      Ce serait pas 4000 lignes d'assembleur ? ( à une instruction par ligne )
  • # Et les sources ?

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

    J'ai eu beau chercher sur les deux sites de Minix, pas moyen de mettre la main sur les sources (qui doivent être disponibles quelque part, puisque licence BSD).
    A moins qu'elles ne soient dans les iso, ce qui serait benêt parce que je ne suis pas root sur cette machine, donc pas de loopback possible (il y a une autre manière d'extraire les fichiers ?).

    Quelqu'un aurait une URL vers un cvs ou une tarball quelconque ?
    • [^] # Re: Et les sources ?

      Posté par . Évalué à 4.

      Elles sont dans les ISOs, c'est certain (/usr/src/). Après, j'avais vu sur le site un moyen de les afficher en HTML avec des jolis commentaires un peu partout. Mais comme il est innaccessible à l'heure actuelle, je peux pas t'en dire plus.
  • # Operating Systems Design and Implementation

    Posté par . Évalué à 4.

    Je pense que le bouqin risque d'être vraiment interressant
    peut-être une version en français ? ( on peut toujours rever .... )
    Est ce que quelqu'un a deja regardé si la memoire virtuelle et le swapping sont supportés dans cette nouvelle version ?

    • [^] # Re: Operating Systems Design and Implementation

      Posté par . Évalué à 4.

      peut-être une version en français ? ( on peut toujours rever .... )

      Celui corresepondant à la version 2 de Minix existe deja en francais depuis longtemps. Par contre je ne sais pas si la version 3 est deja traduite.
    • [^] # Re: Operating Systems Design and Implementation

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

      Il y a aussi, pour ceux qui ne connaissent pas, Systèmes d'exploitation Systèmes centralisés - Systèmes distribués également par Andrew Tanenbaum en français chez Dunod.
      Le titre original est Modern operating systems bien que le bouquin ait été écrit en 1992.
      (quand je l'ai acheté il y a quelques années, ça vallait environ une quarantaine d'euros)

      Ok c'est vieux mais ça peut tout de même être intéressant, les bases restent valables (gestion des threads, mémoire, ...)

      Il présente Unix et ms-dos en tant que systèmes centralisés et amoeba et mach pour les systèmes distribués.
      • [^] # Re: Operating Systems Design and Implementation

        Posté par . Évalué à 1.

        Ok c'est vieux mais ça peut tout de même être intéressant, les bases restent valables (gestion des threads, mémoire, ...)


        J'ai acheté la nouvelle édition du livre "Systèmes d'exploitation" de Andrew Tanenbum et je le trouve très intéressant.

        C'est la seconde édition mise à jour en 2003, donc il est assez à jour. Il présente notamment en étude de cas les noyaux GNU/Linux et Windows 2000, ainsi que les principes des systèmes d'exploitation "multimédia" et multi-processeurs.

        Voir : http://www.eyrolles.com/Informatique/Livre/9782744070020/liv(...)
        • [^] # Re: Operating Systems Design and Implementation

          Posté par . Évalué à 2.

          Elle est intéressante, mais il y a des erreurs de typo (une page mais je suis arrivé à la 450 ieme) qui sont gênantes en pleine explication d'un algo (lettres grec remplacées par '_').

          L'ensemble des termes traduits est correcte l'équivalent anglais est presque toujours indiqué.

          J'avais longtemps hésité à acheté la VO ou la VF et bien c'est la premierre bonne traduction à laquelle j'ai à faire.

          De plus j'ai jamais vu des explications aussi pédagogiques, c'est sans doute liée au faite qu A.Tanenbum est professeur.

          Je conseille vraiment d'acheter le livre traduit, je crois que personne ne le regrettera !
    • [^] # Re: Operating Systems Design and Implementation

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

      Je pense pas dire de bétises, mais la troisième édition n'est même pas encore sortie en anglais (date de sortie prévue: 31 janvier 2006). Alors, pour une version française...
  • # Avec QEMU on fait comment ?

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

    J'ai fait tourner l'installeur et j'ai bien un Minix 3 sans réseau qui tourne dans mon QEMU 0.7.2.

    Par contre, j'aurais bien voulu ajouter quelque part le "qemu_pci=1" qu'on m'a soufflé pendant l'installation et qui permettrait d'avoir le réseau, mais je n'arrive pas à trouver ou...

    Autrement, c'est assez perturbant (pas de commandes ifconfig, free, fdisk, ... qu'on a l'habitude d'avoir sous GNU/Linux) et intéressant (ça pédale joyeusement avec QEMU ;-)
    • [^] # Re: Avec QEMU on fait comment ?

      Posté par . Évalué à 1.

      moi j'ai du réseau et ifconfig sous VMware. Par contre, impossible de jouer avec easypack: manque bunzip2 (j'ai bien décompresser bzip2 dans /usr/local/bin mais ça change rien, et j'ai pas trouvé de solution sur leur site).
      • [^] # Re: Avec QEMU on fait comment ?

        Posté par . Évalué à 1.

        Bon, je me réponds à moi même c'est marqué sur la page d'accueil :)

        By accident, bunzip2 was left off the CD-ROM. Without it, easypack does not work. Sorry about that. The binary is now on www.minix3.org/software near the top of the page. Fetch it with urlget from www.minix3.org/download/bzip2.tar. The files bzip2 and bunzip2 are the same file, linked using both names. Sorry for the inconvenience.


        Donc, télécharger http://www.minix3.org/download/bzip2.tar et ensuite, décompresser dans /usr/local/bin, puis taper : ln /usr/local/bin/bzip2 /usr/local/bin/bunzip2, et enfin, applaudir.

Suivre le flux des commentaires

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