Journal Minix !

Posté par .
Tags :
0
17
fév.
2005
J'ai récupéré un vieux 486, avec le bouton turbo qui rend le processeur 4 fois plus rapide... Ah nostalgie...
Le disque dur de 230 Mo est encore en état et n'a aucun secteur défectueux. Mais il ne possède malheureusement que 4 Mo de RAM, 8 Mo auraient été préférables...

Donc, j'ai pensé à installer un Linux dessus. Le problème, c'est que Linux, l'air de rien, ça pompe de la mémoire vive, et 4Mo, c'est assez juste : juste de quoi lancer le noyau, un shell et un vi (ou un centième de emacs, au choix).

Je me suis donc tourné naturellement tourné vers Minix, dont je connaissais l'existence, mais pas du tout ses qualités.

Je rappelle que Minix est le système sur lequel tournait le 386 de Linus Torvalds quand il a écrit la version 0.0.1 de Linux (que j'essayerai de compiler sous Minix d'ailleurs !).

Minix est un système de type UNIX très (vraiment) léger qui tourne même sur des architectures 16 bits comme le 286, voire le 8088. En tout cas, sur mon 486, ça tourne avec aisance, c'est d'une rapidité fulgurante, foudroyante, étonnante, inimaginable. Bref, c'est carrément utilisable pour développer, le compilateur C étant très léger et rapide.

Vous en saurez beaucoup plus sur la page officielle de cet OS conçu par le célèbre Andrew S. Tanenbaum, afin de rendre accessible à ses étudiants les rouages d'un OS. Les sources sont disponibles, et sous une licence qui ressemblerait plus à la licence BSD.

[1] La page officielle de Minix :
http://www.cs.vu.nl/~ast/minix.html(...)

[2] Quelques outils GNU portés pour Minix :
http://barnyard.syr.edu/minix.shtml(...)

--

Puisque c'est *mon* journal (pourquoi me sens-je obligé de me justifier ? :), j'en profite pour poser une question à propos du parcage de tête de lecture de disque dur...

Je rappelle que le parcage consiste à ranger la tête de lecture d'un disque dur dans une zone sécurisée, empêchant cette tête de lecture de toucher la surface magnétique du disque, ce qui entraînerait un endommagement irrémédiable du disque.

Sur les anciens disques durs, il vaut mieux effectuer un parcage manuel avant d'éteindre son ordinateur et donc son disque dur, ce parcage étant effectué de manière automatique (par de l'électronique) sur les disques actuels.

J'ai alors une question : comment savoir si mon disque dur effectue ce parcage ?
Le cas échéant, peut-on programmer facilement ce parcage ? Où pourrais-je trouve un tel programme, pour Linux Minix voire DOS ?
  • # He bien...

    Posté par . Évalué à 8.

    Ben pour savoir si les têtes sont parquées, tu démontes le disque et tu le secoues : si tu entends "ding ding" c'est que les têtes ne sont pas allées se coucher.

    "vi (ou un centième de emacs, au choix)" : c'est assez rare d'avoir un troll à deux sens* dans une phrase. Veux-tu parler de l'occupation mémoire ou des performances avec ce ratio emacs/vi=100 ?


    * (je propose d'appeller ça un trollort)
    • [^] # Re: He bien...

      Posté par . Évalué à 4.

      Pourquoi Trollort?

      Moi je propose l'appellation "Troll Australien" (A.O.C.) parce que quand on le lance, c'est comme un boomerang : c'est un retour direct à l'envoyeur :p
      • [^] # Re: He bien...

        Posté par . Évalué à 3.

        Pourquoi Trollort?

        Parce que c'est un palindromemordnilap?

        "Il faut" (Ezekiel 18:4) "forniquer" (Corinthiens 6:9, 10) "avec des chiens" (Thessaloniciens 1:6-9) "morts" (Timothée 3:1-10).

      • [^] # Re: He bien...

        Posté par . Évalué à 3.

        troll à 2 sens
        trollort -> trollort
  • # L'utilitaire PARK

    Posté par . Évalué à 2.

    Il y avait, dans le DOS un utilitaire nommé PARK, qui faisait ca.
    Mais, je sais pas si il était bien utile puisqu'il me semble qu'il avait été retiré des dernières versions du DOS.
    Ce qui est sur, c'est qu'il était présent dans le DOS 3
    • [^] # Re: L'utilitaire PARK

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

      c'etait pas ship?
    • [^] # Re: L'utilitaire PARK

      Posté par . Évalué à 1.

      Oui, je crois que mon père m'avait parlé de ça quand j'étais petit et ça devait être un peu avant que j'ai eu mon premier PC 386 qui était avec un DOS 4 (et déjà, à cette époque je crois qu'il n'y avait plus cette commande).
  • # Autre projet

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

    Un projet très intéressant propose des patchs pour Linux 2.6 permettant de le faire tourner sur une machine avec très peu de mémoire. Ca vaut peut-être le coup d'y jeter un coup d'oeil.

    http://www.selenic.com/tiny-about/(...)

    Si tu te lances dans cette voie, tiens moi au courant, ça m'intéresse, et j'ai un vieux portable 486 SX 25 pour tester.
    • [^] # Re: Autre projet

      Posté par . Évalué à 1.

      A propos de 486 (certes beaucoup plus musclé), ma passerelle qui relie mon petit réseau au net (avec une configuration firewall et d'autres petites choses) est actuellement un 486 DX4/100 avec un kernel 2.6 mais qui a été boosté en mémoire car il possède 24 Mo (ce qui devient confortable) et une carte USB pour le modem. En tout cas, ça marche très bien même si j'espère récupéré un truc un peu plus gros pour héberger d'autres services.
      • [^] # Re: Autre projet

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

        Et tu lui fais faire quoi de plus que passerelle ? J'ai une machine équivalente dont je n'ai guère usage, je comptais la transformer en proxy/firewall et peut-être serveur DHCP.
        • [^] # Re: Autre projet

          Posté par . Évalué à 2.

          Fut un temps, j'avais essayé d'installer un serveur LDAP mais faute de maintenance, je l'ai un peu abandonné (le problème de cette machine, c'est que pour des questions de légèreté, j'ai enlevé X et il est un peu galère de bosser dessus en dehors de l'admin de la machine dans l'état actuel). Il y a un "serveur HTTP" qui est en fait un script Perl qui permet d'établir ou de couper la connexion à distance. Et sinon, un truc bien pratique qui s'appelle httptunnel.

          Pour l'installation, je me suis amusé avec une LFS compilée sur une autre machine dans un environnement chroot et j'ai ensuite downloadé le système complet sur le PC hôte (même manip pour les quelques mises à jour du kernel que j'ai effectué sinon on peut quand même compiler quelques petites choses en local si on prend son temps [du genre la mise à jour des drivers du modem USB])
  • # parquage

    Posté par . Évalué à 4.

    Ne t' inquiétes , 230 Mo c' est déja un disque "moderne" IDE .
    Le parquage ce fait automatiquement, les seuls disque que j' ai connu ou ça n' était pas le cas faisait 10-20 Mo (RLL il me semble).

    <moment nostalgie\>
    Ah le bull micral 30 - du club informatique du lycée
    </moment nostalgie>
    • [^] # Re: parquage

      Posté par . Évalué à 1.

      D' ailleurs si j' ai bonne mémoire Minix (1.*) tournait aussi sur amiga et atari.......
  • # évolution lente... license ou conception ?

    Posté par . Évalué à 2.

    Up to 3 simultaneous users on one machine :)
    comment expliquer l'évolution lente de Minix par rapport à Linux ?
    La license a-t-elle été restrictive au début ?
    Ou le micro-noyau Minix est-il bien moins évolutif que Mach ou L4 ?
    • [^] # Re: évolution lente... license ou conception ?

      Posté par . Évalué à 5.

      C'est tout simple, pour son autheur Andrew Tanenbaum, Minix n'est qu'un support de cours. Autant qu'il soit et reste simple. Il n'a jamais eu la volonté de le faire évoluer vers un OS plus complet, ni de l'introduire sur le pc de chaque foyer comme certains aimeraient voir linux.
      • [^] # Re: évolution lente... license ou conception ?

        Posté par . Évalué à 2.

        Effectivement, dans son bouquin "systemes d'exploitation", il parle de minix (et des autres os qu'il a developpe), et si minix est reste a moins de 10000 lignes de codes, c'est vraiment dans le but de rester un support de cours pour ses etudiants.

        En effet, essayer de comprendre le fonctionnement de base d'un os en epluchant uniquement le source d'un linux actuel serait comme essayer de lire tous les bouquins de la bibliotheque Miterrand... il faudrait plus d'une vie...

        Comme dit plus bas, un petit netbsd doit normalement tres bien tourne sur cette machine !

        l'ideal est de faire des essais et de nous tenir au courant !
        • [^] # source de L4 ?

          Posté par . Évalué à 2.

          je suis plus tenté d'éplucher le source de L4, car il y a déja Linux et Hurd pour L4
          (quelqu'un a essayé ?)
    • [^] # Re: évolution lente... license ou conception ?

      Posté par . Évalué à 1.

      Minix a été conçu comme un système didactique: il doit fonctionner comme un Unix, mais les sources doivent être lisibles par un non spécialiste. D'autre part, la license sous laquelle il était distribué était très restrictive. Deux raisons qui l'ont cantonné dans sa niche d'origine où il remplit très bien son rôle: l'éducation.

      Si tu stfw, tu trouveras pas mal de travaux pratiques d'informatique consistant à modifier telle partie de Minix pour faire ça et ça.

      Et le ng comp.os.minix est d'un bien meilleur niveau technique que pas mal de alt.fr.linux.* :-)
  • # alternatives

    Posté par . Évalué à 4.

    Comme alternative à minix sur ce type de hardware, tu dois pouvoir aussi utiliser netbsd qui officiellement requiert un minimum de 4Mo de ram.. Il existe aussi des distribs linux spécialisées dans les vieilleries.

    http://www.netbsd.org(...)
    http://elks.sourceforge.net/introduction.html(...)
    • [^] # Re: alternatives

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

      <mavie>
      J'ai pour ma part installé NetBSD (le 1.6) sur un 386 avec 4Mo et un disque de 130Mo... Il boote en seulement 14 minutes!

      Par contre, j'ai pas réussi à faire marcher une liaison slip dessus (UART trop ancienne, sans buffer et interruptions trop lentes)... Il faudra que j'essaye avec Minix...
      </mavie>
    • [^] # Re: alternatives

      Posté par . Évalué à 1.

      Toujours dans le domaine des vieilleries, comme on me demandait souvent comment faire pour installer Linux sur de telles antiquités, j'ai carrément fait une page sur l'installation d'une MCC sur un 386 avec 2 (deux) Mo de ram.
      http://perso.wanadoo.fr/dbecaert/inst2mo.htm(...)
      La MCC est une distribution de la même époque que le 386, et même si ça rame, le noyau a reconnu sans compilation une carte Ethernet ISA 8bits en BNC : je peux même l'utiliser en réseau !
  • # il est frais mon turbo

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

    avec le bouton turbo qui rend le processeur 4 fois plus rapide...

    turbo, c'était surtout un bouton qui permettait de ralentir le PC pour les jeux dont la vitesse dépendait de la fréquence du proc. Si c'était trop rapide, le jeu devenait injouable.
  • # Kernel adapté à la machine

    Posté par . Évalué à 4.

    Pourquoi ne pas installer un noyau de l'époque de ton PC. Non seulement il sera plus adapté à la puissance de la machine mais en plus la plupart des nouvelles fonctionnalités du noyau 2.6 te sont d'aucune utilité.
    Je te propose donc d'essayer: http://kernel.org/pub/linux/kernel/v2.0/linux-2.0.40.tar.bz2(...)
    et de le configurer au mieux pour ne garder que l'essentiel afin de préserver le maximum de mémoire pour le reste.
  • # Et Slackware ?

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

    Je me souviens avoir installé une Slackware 3.x sur un 386DX33 avec 80Meg de HD.
    La distrib se présentait sous forme de disquettes...un petit paquet de disquettes dailleur !
    J'avais récupéré ça sur sunsite...
    Je n'ai pas conservé le jeu de disquette et dernièrement j'ai souhaité refaire ce type d'installation mais je n'ai pas été capable de retrouver cette distribution sur le net.

    Je cherche...
  • # Parquage tête

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

    Boien qu'à mon avis, ce soit inutile, pour parquer les têtes, 3 lignes d'assembleur et c'est bon :
    INT 13,19 - Park Fixed Disk Heads (AT & newer)
    AH = 19h
    DL = drive number (0=A:, 1=2nd floppy, 80h=drive 0, 81h=drive 1)

    on return:
    AH = status (see ~INT 13,STATUS~)
    CF = 0 if successful
    = 1 if error
    - available only on AT, XT 283 and PS/2 machines

    Source : http://www.htl-steyr.ac.at/~morg/pcinfo/hardware/interrupts/inte743(...)

    Sinon, si tu es du côté de Rennes, je peux te filer de la RAM.
    • [^] # Re: Parquage tête

      Posté par . Évalué à 0.

      Alleluyah :
      Enfin tu as mis une réponse à la question
      et en plus c'est la vraie (ben oui puisque j'allais la mettre )
  • # Finalement, Slackware 2.2

    Posté par . Évalué à 1.

    J'ai finalement opté pour une slackware 2.2.0 qui comporte un noyau 1.2.1, une glibc version 4, et de bien vieilles versions de logiciels.

    Ca ne marche pas trop mal, même si c'est sûr que 4 Mo, c'est un peu juste. Merci Will Hunting pour ta proposition de mémoire vive, mais je suis sur Paris. Et puis, sur ces vieux matos, je ne sais pas si les barettes de RAM sont très standardisées. J'ai un 386 qui n'a pas le même type de barette, malheureusement !

    J'ai recompilé le noyau, ça a bien pris quelques heures à cause de la lourdeur de gcc (version 2.6.3). Ayant désactivé quelques options, j'ai gagné 300 précieux kilo octets de mémoire vive pris par le noyau en fonctionnement (il n'y avait pas de modules à cette époque).

    Du coup, grâce au port série, j'ai connecté le vieux 486 au grand internet grâce à ppp, via ma passerelle qui joue le rôle de "serveur" ppp. Ca se configure vraiment facilement. J'obtiens un magnifique débit de 3,2 Ko/s en téléchargement avec un MTU de 500, et une latence (ping diront les gamerz) de 60 ms :)
    Va falloir encore que je teste d'autres valeurs de MTU pour optimiser tout ça...

    Il n'y pas beaucoup de programmes sous slackware-2.2, mais j'ai réussi à compiler un vieux lynx-2.3 et un vieux wget 1.8.4 que j'ai trouvé sur Internet grâce à Google.
    Je suis actuellement en train de compiler le très petit et très rapide serveur internet thttpd.

    Le problème, c'est que pour la plupart des sources de programmes ne compilent pas à cause d'un script configure qui foire, non pas à cause de fichier d'en-tête manquant, mais à cause d'obscures raisons. J'obtiens souvent un "sed: confdefs.h: no such file" ou bien un message similaire qui se plaint de ne pas trouver un certain confdefs.sh. J'ai bien essayé de bidouiller le script configure, mais sans succès.
    Je n'ai donc pas encore réussi à compiler netcat qui m'aurait été utile.

    J'ai aussi zieuté du côté d'autres OS tel que DOS. Ne commencez pas à crier au sacrilège du non libre, il y a une version libre de DOS : Freedos (http://freedos.org/(...)).
    J'ai aussi découvert un client vnc qui tourne sous DOS (http://vncviewer8086.sf.net/(...)) avec de très vieilles machines : ça a été testé sur un 286 avec 1 Mo de RAM.
    N'ayant pas de carte réseau pour bus ISA, il va falloir que j'installe une pile TCP/IP et un programme de PPP pour DOS... Comme je ne suis pas encore expérimenté pour ces système, il va falloir mettre les mains dans le camboui !

Suivre le flux des commentaires

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