p9 a écrit 4 commentaires

  • [^] # Re: Autres remarques

    Posté par  . En réponse à la dépêche Plan9 en GPL v2, pour les nuls. Évalué à 2.

    oui effectivement, je parle bien de 9legacy.

    je me permet de citer ce qui a été dit sur #plan9 il y a quelques heures par un développeur principal de 9front, qui compare l'implémentation des noyaux 64bits de Nix (une autre distrib) et 9front.

    17:57:48 < cinap_lenrek> anth_r: the nix kernel changed half of the portable code
    17:58:00 < cinap_lenrek> anth_r: and they use retarded 2MB pages by default
    17:58:59 < cinap_lenrek> in contrast, the 9front pc64 kernel uses 4K pages and shares almost everything with the pc kernel and the portable parts
    18:00:08 < cinap_lenrek> its just main.c memory.c mmu.c trap.c and squidboy.c (mp startup)
    18:00:19 < cinap_lenrek> and l.s of course
    18:00:22 < cinap_lenrek> the rest is all the same
    18:00:55 < cinap_lenrek> also, this was mostly done over a weekend
    18:02:48 < cinap_lenrek> 9front pc64 is more a port than a complete rewrite of the plan9 kernel as nix is
    

    les choix techniques qu'ils font sont toujours justifiés. et je suis sûr qu'ils ouvriront leurs écoutilles à des arguments extérieurs, surtout s'ils sont pertinents. s'ils ne le sont pas, il faudra savoir ignorer la pluie d'insultes ;-) (c'est pas un comportement plus blamable que celui de Linus ou Theo)

    pour leur penchant à « semer le trouble » : http://9front.org/troll/troll-culture.pdf
    on en pense ce qu'on en veut, mais de nos jours, l'esprit du citoyen lambda de notre société est tellement confus, tellement éloigné de ses racines culturelles, que le piquer un peu de temps en temps pour le lui rappeller ne peut qu'être bénéfique.

  • [^] # Re: Autres remarques

    Posté par  . En réponse à la dépêche Plan9 en GPL v2, pour les nuls. Évalué à 4.

    y'a plus grand monde qui bosse sur Plan9 @bell-labs (du genre une ou deux personnes)
    et fort peu de patchs sont acceptés. c'est une des raisons pour lequelles des distribs non-officielle (9atom, 9front, NiX, etc.) existent.

    ceci dit, ça devrait être possible de patcher la version de bell-labs pour y porter les drivers sans trop de boulot. à voir si 9grid (http://9grid.fr/downloads.html) ne le fait pas déjà.

  • [^] # Re: Autres remarques

    Posté par  . En réponse à la dépêche Plan9 en GPL v2, pour les nuls. Évalué à 7.

    oh si c'est faisable. tout dépend de ce qui est compris par utilisation journalière.
    pour du développement, l'apprentissage de la programmation, etc. c'est un environnement particulièrement sain par rapport aux unix modernes.

    9front par exemple est utilisable décemment au quotidien comme OS principal, notamment grace:

    • au wifi
    • plus généralement à un support hw (drivers) correct
    • linuxemu (émulateur de binaire linusque, qui permet par exemple de faire tourner une vielle version d'opera, oui çapuecestpaslibre, mais après avoir testé les autres navigateurs disponibles, on ne peut qu'apprécier)
    • une communauté petite mais active

    après il faut chercher, et ouvrir les yeux: y'a pas mal de petites perles ici et là, par exemple:

    • aux/listen, qui travaille sur des fichiers. par exemple pour le fichier tcp7, il ouvre une connexion tcp sur le port 7 (en listen, bien sûr), redirige les io vers le script tcp7, qui contient: #!/bin/rc cat (du coup, oui c'est largement faisable un serveur http codé en shell en quelques lignes, cf http://man2.aiju.de/8/rc-httpd)
    • dans le même genre de chose facilement faisable en shell, supposons deux machines A et B. Pour que tout le traffic réseau de A passe par B (ie. que A utilise B comme proxy): A# import -a B /net et grâce au méchanisme d'isolation des processus via namespaces, c'est valide que pour le processus courant. pour que ça soit valide tout le temps, il suffit de le faire plus tôt dans le démarrage de l'OS, pour que le namespace soit hérité par les processus fils.
    • les expressions régulières structurelles couplées au langage de commande de sam (qui est aussi celui d'acme) qui permet de manipuler du texte avec des commandes plus criptiques que jamais
    • la compilation du système (userland+kernel), qui se résume à un cd; mk (mk étant l'équivalent de make). cross compiler pour une autre archi? changer la variable d'environnement $objtype avant d'appeler mk.
    • la version du C utilisé, qui contient des ajoutes comme les structures anonymes, où encore des libs pour faire de la concurrence basées sur du CSP (« goroutine » en Go)
    • notons un port de TeX (KerTeX, et par un français: http://www.kergis.com/kertex.html)
    • etc.

    C'est bien de garder en tête les considérations suivantes quand on aborder Plan9:

    • c'est un OS de recherche; c'était pas prévu à l'origine que ça sorte au grand jour
    • il a été conçu à une époque où le web était à l'état de fœtus (d'où les navigateurs et autres outils web sobres)
    • il est fait pour construire un OS distribué sur un réseau local (9P supporte très mal la latence; c'est utilisable hein, mais faut pas être pressé :))

    au final, je dirais que c'est un îlot de tranquilité pour les sysadmins, et une référence en matière de design pour les codeurs. je serais curieux de voir des novices complet en informatique débuter sous Plan9.

    (c'est la fête des listes!, merci Benoît)

  • # Autres remarques

    Posté par  . En réponse à la dépêche Plan9 en GPL v2, pour les nuls. Évalué à 10. Dernière modification le 21 février 2014 à 09:33.

    Quelques ajouts/corrections:

    • Plan9 est le successeur des diverses versions de recherche d'Unix
    • un peu rapide de dire que « l'interface graphique est intégrée dans le noyau ». De façon un peu plus correcte, contrairement aux Unix qui ont connu les graphismes (et le réseau…) après coup, et qui ne les ont de se fait jamais complétement digéré, comme en témoigne les relents d'X, ou encore les sockets, Plan9 a été conçu avec ses deux éléments.
    • il y a plusieurs « interfaces de programmation », on parle d'éditeurs, et ils sont acme, sam et ed. sam est un ed++. c'est le click droit de la souris qui permet d'ouvrir un fichier à une ligne via un texte comme foo.c:42. sauf erreur, le texte est envoyé au plumber, qui constitue l'équivalent d'un double-click windows programmable, et 9P-able, bien sûr.
    • international, mais ne supportant pas les écritures « à droite » (arabe, amaric, etc.)
    • Plan9 n'est pas POSIX mais dispose d'une couche de compatibilité POSIX (APE); pratique pour porter du code.
    • "Ainsi, à une machine Arm il montrera /arm/bin/ en lieu et place de /bin/." est incorrect. /bin est un répertoire obtenu via plusieurs appels à bind (comme en témoigne la sortie de ns(1)), entre autre /rc/bin, /$objtype/bin, etc. où $objtype désigne l'architecture courante
    • il existe d'autres options que venti/fossil; notamment le WORM (Write Once Read Many)
    • inferno n'est pas une distribution Plan9 : c'est une re-écriture complète, articulée autour des mêmes principes, dans le langage Limbo, apparu à peu près à la même époque et Java, et tournant comme lui sous une VM (Dis).

    Plan9 c'est un peu comme le Lisp : en pratique ça sert pas à grand chose, mais les concepts derrière.
    beaucoup de concepts sont en portage/déjà portés sur vos unix préférés: utf8, /proc, namespaces, etc. mais c'est tellement plus sale :-)
    à aborder avec un esprit neuf (no pun intended)

    PS: je suis perdu avec la syntaxe des listes : le boutton me sort des tirets; l'aide mémoire de la syntaxe des étoiles, mais aucun ne marche en prévisualisation.