Fuzix OS, parce que les petites choses sont belles

Posté par  (site web personnel) . Édité par Davy Defaud, ZeroHeure, Xavier Teyssier et BAud. Modéré par Nils Ratusznik. Licence CC By‑SA.
Étiquettes :
63
4
nov.
2014
Noyau

« Ras le bol de systemd ? Kdbus est la goutte de trop ? La communauté Linux est trop vaste et trop bruyante ? Vous languissez de ce bon vieux temps où vous connaissiez chaque contributeur par son nom et que le code source tenait sur une seule disquette ? »

C’est par ces mots qu’Alan Cox a introduit Fuzix OS ce 31 octobre, un noyau Unix pour Zilog Z80. Le Z80 est un processeur 8 bits conçu dans les années 70.

Alan Cox est un programmeur britannique très impliqué dans le développement de Linux, et ce depuis le début. Il est notamment connu pour avoir maintenu pendant très longtemps la version 2.2 de Linux, ainsi qu’une version personnelle de Linux 2.4 (oui, il semble s’attacher facilement aux vieilleries). Après avoir été employé par Red Hat pendant 10 ans puis par Intel, il avait annoncé prendre de la distance avec Linux en janvier 2013, pour des raisons familiales.

Mais il y a toujours de la place pour faire des choses rigolotes ! Et le fun est la motivation principale d’Alan Cox dans ce projet.

Le nom FUZIX fait référence à un système d’exploitation déjà existant, UZI (Unix: Z80 Implementation), et à ses multiples dérivés incompatibles et non portables (UZI180, UZIX, uMZix…). FUZIX reprend divers éléments de ces différents forks ainsi que plusieurs bonnes choses de ELKS (Embeddable Linux Kernel Subset) et OMU (One Man UNIX), en saupoudrant un peu de POSIX et quelques idées de Minix dans le chaudron. Le but est de mettre un peu de cohérence dans tout cela et, à terme, de fournir une expérience System V complète, mais sans embonpoint !

Alan Cox ne ferme pas la porte à d’autres architectures éventuelles, il parle déjà du 8086, mais pour évoquer le manque crucial de compilateur C ANSI pour cette architecture. Qui l’eût cru ?

Les plates‐formes actuellement prises en charge par FUZIX sont Z80Pack, un système d’émulation de l’architecture Z80, et l’Amstrad NC100, un petit ordinateur portable des années 90. L’Amstrad NC100 permet à Alan d’éprouver FUZIX sur du vrai matériel.

Les hackers intéressés pourront se référer au README pour découvrir ce que FUZIX a de plus qu’UZI, par exemple des noms de fichiers de 30 caractères, la possibilité d’être compilé par le compilateur moderne SDCC (Small Device C Compiler), ainsi que pleins de nouveaux bogues ! Il faudra bien évidemment se référer au même document pour découvrir ce qu’il manque encore à FUZIX, notamment un alias /dev/tty, une pile TCP/IP, etc. Si vous avez toujours rêvé d’implémenter une pile TCP/IP sur architecture 8 bits, voici peut‐être venue votre heure de gloire.

Je vois d’ici ceux du fond avec les yeux qui brillent en pensant à leur TI-83, malheureusement FUZIX nécessite au minimum 40 Kio de mémoire vive pour le noyau seul, FUZIX ne tournera donc pas sur votre calculatrice bien aimée. Vous pourrez vous rabattre sur le T80, un cœur Z80 pour FPGA.

Alan Cox a donc annoncé le projet FUZIX le 31 octobre dernier à l’occasion d’Halloween, et ce n’est pas une farce. Ceux qui préfèrent le 8086 sont invités à continuer l’effort de rendre le Portable C Compiler (PCC 8086) compatible ANSI.

FUZIX est distribué sous licence LGPL. Il était une fois Fuzix OS, et ça se forke dès maintenant.

Aller plus loin

  • # Le Z80 est encore utilisé

    Posté par  (site web personnel) . Évalué à 8.

    Le Z80 est un processeur 8 bits conçu dans les années 70.

    Et encore utilisé. Cf http://en.wikipedia.org/wiki/Zilog_Z80#Notable_uses ou cette dépêche sur les calculatrices scientifiques.

  • # 8086

    Posté par  (site web personnel) . Évalué à 6.

    Bon, ma TI83+ n’a que 24K de mémoire donc il n’y a aucun espoir, mais l’Amstrad 2086-S est livré lui avec un 8086 et 640 kb de ram, c’est plus qu’il n’en faut ! J’espère qu’un jour Fuzix sera en effet porté pour le 8086, d’ici là faut que je conserve avec grand soin les rares disquettes 3.5" 720K qui me restent… Par contre je doute que le vieux compilo C K&R qui est installé sur cette machine les intéresse… :D

    ce commentaire est sous licence cc by 4 et précédentes

    • [^] # Re: 8086

      Posté par  . Évalué à 2.

      Pas forcement besoin d'un 8086.
      En lisant le post sur G+ d'Alan Cox , il semble qu'il s’intéresse aux MSX (j'ai posté un journal il y a longtemps lié à ça). C'est assez logique, openMsx par exemple peut simuler un tas de trucs, et il existe un firmware libre (C-Bios, fournit avec open Msx) qui permet d'initialiser tout le système.
      Pour ceux qui veulent jouer du fer a souder il y a ça : http://www.gr8bit.ru/ , un msx2 DIY en kit.

    • [^] # Re: 8086

      Posté par  . Évalué à 2.

      Sur un 8086, si tu cherches un simili-Unix, il se peut que ELKS (http://elks.sourceforge.net/introduction.html) fasse l'affaire.

      Cela dit, je n'avais essayé que peu de temps il y a pratiquement dix ans (… et sur un 486 avec très peu de RAM et non un 8086), donc je ne me souviens plus du tout d'à quoi ça ressemblait.

  • # z80

    Posté par  (site web personnel) . Évalué à 3.

    C'est quand même un processeur bien tordu. Il aurait pu utiliser un Atmel ou un Pic. L'idéal étant un truc comme les msp430 de TI, c'est un processeur 16 bits, mais c'est plus petit qu'un SOC 8 bits, car le code mémoire prend moins de place. Si on compile le même code C, un bon processeur 16 bit fournit un code plus compact qu'un processeur 8 bits. Donc pour faire la même chose, la ROM nécessaire est plus compact.

    "La première sécurité est la liberté"

    • [^] # Re: z80

      Posté par  . Évalué à 4.

      Le code Z80 est aussi compact que sur MSP430.
      On peut citer aussi les cortex M0, c'est un arm tailler pour concurrencer les 8 bits en terme de simplicité pour un prix inférieur (moins de 1€). Mais je comprend la démarche, le Z80 c'est fun et après tout il y a µClinux si on veut travailler sur les cortex M (>=M3).

      Chose surprenante, le Z80 a une ALU de seulement 4 bits!

Suivre le flux des commentaires

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