Sommaire
Plan9 pour les nuls
Je suis effaré par l'ignorance des gens d'ici quant à Plan9. Dans le récent journal qui en parle, je me trouve être le seul qui sache un peu de quoi il est question, et c'est un comble, car je n'y connais presque rien.
Alors puisque ce presque rien est toujours mieux que rien, je vous propose une rapide introduction à Plan9, et vous invite à poursuivre par vous même en lisant la documentation et en installant Plan9 sur votre cluster de RaspberryPi, vos thinkpads, ou vos machines virtuelles pour vous faire une idée de la bête par vous même.
Plan9 est bien né
Parce qu'il est le fils de Ken Thompson, Dennis Ritchie, Brian Kernighan et Rob Pike entre autres.
Plan9 est libre
Parce qu'il est distribué, depuis 2003, sous la Lucent Public License, une licence reconnue libre par la FSF. Et le journal à l'origine de celui-ci indique qu'il est aussi distribué sous GPLv2.
Plan9 est moderne
Parce que son interface graphique est déjà intégrée au noyau. Il n'y a d'ailleurs pas de tty dans Plan9, ceux-ci paraissant déjà dépassés en 1987. L'ergonomie de Plan9 continue néanmoins de reposer sur le texte, puisque Rio, le gestionnaire de fenêtres, n'ouvrira par défaut que des lignes de commandes.
Plan9 propose en outre une interface de programmation, nommée Acme, qui s'utilise au clavier et à la souris. Le clic du milieu permet d'exécuter le texte sélectionné, ou les commandes de l'éditeur représentées par des tags situés en haut de la fenêtre. L'exécution s'affiche dans une nouvelle sous-fenêtre, automatiquement placée à la façon d'un gestionnaire de fenêtre pavant. Enfin, l'exécution de la commande dépend du contexte : exécuter une ligne de sortie de grep ouvre le fichier greppé à cette ligne repérée par grep.
Plan9 est international
Parce qu'unicode et l'utf-8 ont été inventés pour Plan9.
Plan9 n'est pas posix
Parce que ce standard a été jugé trop limitatif pour un système d'exploitation dédié à l'exploration de nouveaux concepts. Le shell de Plan9, rc, a une syntaxe un peu personnelle, et sa libc a été entièrement ré-écrite, ainsi que son compilateur.
Plan9 est distribué
Parce que Plan9 est fait pour fonctionner sur un cluster de machines. L'architecture d'un cluster Plan9 repose sur au moins trois machines : des serveurs de CPU, des serveurs de fichiers, et des terminaux. Le serveur de CPU faisant généralement aussi office de serveur d'identification. Il est à noter qu'on peut installer le tout sur une seule machine.
Par défaut, le CPU utilisé est celui du terminal. Mais il suffit de préfixer une commande par cpu pour utiliser le CPU distant.
Pour que tout cela fonctionne bien dans des environnements multi-architecture, le serveur de fichier adapte la vue du système de fichier présentée a chaque terminal en fonction de son architecture. Ainsi, à une machine arm il montrera /arm/bin/ en lieu et place de /bin/.
Plan9 est unifié
Parce que la commande bind permet de monter plusieurs systèmes de fichiers dans un même répertoire. Au cas où un même nom apparaîtrait dans plusieurs de ces systèmes de fichiers, seul celui du premier monté sera accessible.
Plan9 est tout fichier
Parce que sur Plan9, vraiment tout est fichier. La souris est un fichier, il suffit d'écrire dedans pour déplacer le curseur. La fenêtre aussi est un fichier, il suffit d'écrire dedans pour la modifier. Le contenu de la fenêtre aussi est un fichier, ce fichier est celui que vous êtes en train d'éditer - c'est d'ailleurs pour cela que Plan9 n'aime pas trop la coloration syntaxique, car elle supposerait d'introduire une discontinuité dans ce tout fichier. De même, le réseau est représenté dans Plan9 par un système de fichiers.
Puisque tout est fichier sur Plan9, lorsqu'on écrit un pilote, par exemple un pilote de carte ethernet, on écrit en vérité quelque chose qui ressemble à un serveur de fichier. Conséquence directe de ce fonctionnement : pour accéder à un périphérique distant, il suffit de monter son système de fichier localement.
Plan9 est simple
Parce tout plan9 repose sur un unique protocole de relation entre client et serveur : 9P. Ainsi, le pilote de souris, le gestionnaire de fenêtre, le pilote de carte ethernet, et le système de fichier lui-même ne sont que des implémentations du protocole 9P.
Le protocole lui-même est très simple : Les quatre premiers bytes indiquent la taille complète du message, le byte suivant le type du message, celui d'après est un tag, et le reste est constitué de paramètres.
Plan9 est sauvegardant
Parce que Fossil, son système de fichier par défaut, permet à tout utilisateur de réaliser des snapshots.
Mais parce que Plan9 dispose d'un autre système fichier, Venti, dédié quant à lui à la sauvegarde permanente des snapshots. Pour être simple et robuste, Venti ne permet pas de supprimer des données, seulement d'en ajouter.
Plan9 est varié
Parce qu'il existe plusieurs distributions de Plan9 : vanilla de Bell Labs, 9front, inferno, 9atom. Outre qu'elles proposent différents utilitaires, toutes ces distributions proposent leur propre version patchée du noyau.
Plan9 est communautaire
Parce que les utilisateurs de Plan9 partagent leurs pilotes, patchs, ports, et programmes. On voit difficilement trace de toutes ces sources, parce qu'elles sont surtout distribuées par Bell Labs sous la forme de systèmes de fichiers pour Plan9 : /n/sources/contrib/.
Plan9 est compatible avec Linux
Parce qu'une application pour Linux, drawterm, permet de se connecter à un serveur Plan9. Parce que l'utilisation du protocole 9P comme système de fichier est implémenté dans le noyau linux (v9fs). Parce que les utilitaires de plan9 sont disponibles sous linux grâce à Plan9 from user space. Parce que, enfin, des ports de GCC, binutils, et de certaines applications linux sont disponibles sous Plan9.
# Plan9 est international
Posté par Boa Treize (site web personnel) . Évalué à 10.
Unicode, non : il a été créé par des employés de Xerox et Apple, rejoints un ou deux ans plus tard par Sun, Microsoft, Next, et autres.
UTF-8, oui : il a bien été créé par les auteurs de Plan9, que les UTF et UCS existants ne satisfaisaient pas.
# Merci !
Posté par esdeem . Évalué à 7.
Tout est dans le titre.
Comme je suis une grosse flemme, je m'étais contenté de faire un journal à peine plus étoffé qu'un journal bookmark. Et comme toi j'avais été surpris de m’apercevoir que Plan9 pouvait être si mal connu.
Merci encore.
0. Assume good faith 1. Be kind to other people 2. Express yourself 4. Apply rule 0
# typo
Posté par Antoine J. . Évalué à 3.
Le lien vers /n/sources/contrib/ est erroné: s/bells/bell/
[^] # Re: typo
Posté par Tonton Th (Mastodon) . Évalué à 3.
Tout comme le lien vers la documentation. Décidément les journaux bookmark, c'est plus ce que c'était…
[^] # Re: typo
Posté par Sygne (site web personnel) . Évalué à 2.
Oui, j'ai oublié de vérifier les liens…
Est-ce qu'un modérateur pourrait les corriger s'il vous plaît?
[^] # Re: typo
Posté par ZeroHeure . Évalué à 4.
Et tu donnes quoi en échange? :-)
Bon, c'est fait.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
[^] # Re: typo
Posté par Sygne (site web personnel) . Évalué à 3.
Merci. À défaut de pouvoir t'offrir un café, je t'ai pertinenté ;)
# Plan9 n'est pas utilisé ?
Posté par erdnaxeli (site web personnel) . Évalué à 10.
Il me semble que Plan9 n'est que très peu utilisé. J'ai même cru que comprendre que c'était plus une sujet de recherche / exploration, qu'un vrai OS destiné à être utilisé.
Cependant les fonctionnalités décrites semblent innovantes et intéressante. Alors pourquoi est-ce que ça n'a pas plus marché (je penche pour la license non libre avant 2003) ? Ou peut être qu'au contraire ça a permit l'émergence d'outils et que je n'en ai pas connaissance (comme l'UTF-8).
Bref, quel est l'impact actuel de Plan9 sur l'informatique (à part une mascotte moche pour le Go) ?
Il existe deux catégories de gens : ceux qui divisent les gens en deux catégories et les autres.
[^] # Re: Plan9 n'est pas utilisé ?
Posté par Sygne (site web personnel) . Évalué à 10.
Je ne suis pas certain que l'objectif était de faire un os qui s'impose sur le marché. Plan9 est déjà une réussite parce qu'il a permis d'explorer certaines idées, mais en outre parce qu'il prouve que ces idées conduisent à un système fonctionnel et efficace à sa façon.
Maintenant, s'il n'est pas plus utilisé, c'est àmha parce que Plan9 s'engage dans une autre voie que celle de l'informatique dominante: Plutôt que de multiplier les protocoles, les formats et les langages, Plan9 tend à n'en utiliser que quelques uns. Je crois que ça tient à l'esprit du projet, et à une idée de ce que doit être l'informatique.
Puisqu'en outre Plan9 n'est pas posix, on comprend rapidement qu'il est à la traîne au niveau des applications: le navigateur interne ne prend pas en charge le css, seuls quelques formats de son sont reconnus, etc. Et je dois avouer que même moi, qui ai pourtant une pratique lowtech de l'informatique, j'ai eu beaucoup de peine à faire quelque chose avec Plan9 lors de mes tests. Du reste, sur la liste de discussion 9fans, il apparaît que beaucoup d'utilisateurs de Plan9 ne l'utilisent qu'en relation avec des os conventionnels.
Mais, il faut nuancer cet état de fait: La distribution inferno semble avoir trouvé un marché, et la distribution 9front est née du fait que la communauté développait plus vite que tout ce que pouvait intégrer la distribution upstream, de sorte qu'ils ont mis tout ce code dans une distribution, qui importe quant à elle beaucoup de programmes du monde linux.
[^] # Re: Plan9 n'est pas utilisé ?
Posté par Sygne (site web personnel) . Évalué à 8.
On peut citer, outre utf-8, procfs, et rfork, qui ont été transposé sur linux/unix.
Dans l'espace utilisateur, wmii et 9wm sont inspirés de plan9.
[^] # Re: Plan9 n'est pas utilisé ?
Posté par Prosper . Évalué à 4.
C'est utilisé dans qemu pour le filesystem passthrough (par exemple pour "monter" un répertoire précis de l'hôte dans l'invité)
http://wiki.qemu.org/Documentation/9psetup
[^] # Re: Plan9 n'est pas utilisé ?
Posté par claudex . Évalué à 3.
J'ai lu à plusieurs reprises que c'était assez lent en pratique.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Plan9 n'est pas utilisé ?
Posté par Prosper . Évalué à 3.
Je viens de (re)tester et, sur le même répertoire dans un pool raidz, j'ai 190Mo/s depuis l'invité et 240Mos/s sur l'hôte , je me souviens avoir pas mal jouer avec les options de montage de 9p afin d'obtenir des performance acceptables, j'ai
version=9p2000.L,trans=virtio,msize=216144
comme options dans ma fstab.[^] # Re: Plan9 n'est pas utilisé ?
Posté par claudex . Évalué à 3.
Ça doit être les options de montage qui jouent.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
# Il manque juste une info
Posté par cfx . Évalué à -10.
C'est quoi Plan9 ?
Oui, je sais, il y a un lien vers le journal d'il y a quelques jours, mais l'auteur s'étant contenté de « Plan9 est un OS développé par des barbus », ça ne me dis pas pourquoi je devrai m'intéresser à Plan9.
[^] # Re: Il manque juste une info
Posté par Jean Canazzi . Évalué à 10.
Il y a eu récemment un journal qui répond à ta question de manière détaillée : http://linuxfr.org/users/sygne/journaux/plan9-pour-les-nuls
# Raspberry Pi
Posté par Samir Noir (site web personnel) . Évalué à 4. Dernière modification le 19 février 2014 à 08:58.
Juste pour info, il est possible d'installer Plan9 sur un Raspberry Pi très facilement, pour tester tout ça.
Plus d'infos ici.
Edit : Mal lu le journal…
# Film
Posté par barmic . Évalué à 10.
Il manque juste une info à mon avis importante.
Le nom (le nom complet est Plan 9 from Bells Labs) vient du film Plan 9 from Outer Space, d'où Plan 9 from userspace. Vous pouvez voir le film sur imdb (oui il est en entier sur imdb…).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Film
Posté par jjl (site web personnel) . Évalué à 8.
je vous invite aussi à regarder Ed Wood de Tim Burton qui raconte la vie du réalisateur de Plan9 from Outer Space, avec J. Depp, (étonnant qu'il soit dans un film de Tim Burton ;) )
[^] # Re: Film
Posté par Reihar . Évalué à 6.
Et qu'après, ça on vienne nous dire que le domaine publique tue la culture…
# Coloration syntaxique
Posté par barmic . Évalué à 3.
Je vois pas pourquoi (pour moi c'est assez primordial la coloration syntaxique). Je comprends qu'ils aient une « vision de ce que doit être l'informatique », mais faut pas oublier que c'est un outil et que si quelque chose est utile à l'utilisateur alors c'est à prendre en compte (sinon ils vont se le garder leur OS).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Coloration syntaxique
Posté par Renault (site web personnel) . Évalué à 4.
C'est surtout que selon moi il n'y a pas une contradiction.
La coloration syntaxique c'est du code exécuté et éventuellement des fichiers pour définir les thèmes et éléments à mettre en évidence. Les fichiers ont une vue adaptée mais non modifiée (le fichier restera identique après la vue avec la coloration, il n'y a pas d'altération).
[^] # Re: Coloration syntaxique
Posté par kowalsky . Évalué à 3.
Surtout que si j'ai compris, il "suffirait" de créer une appli que l'on nommerait "konsole" ( :) ) par exemple et qui interpreterait un fichier text avec un style (genre css par exemple, mais qu'importe) pour retranscrire la couleur.
Ou j'ai mal compris !
[^] # Re: Coloration syntaxique
Posté par reno . Évalué à 8.
En essayant de comprendre le point de vue de l'auteur du post, il me semble que la raison est que dans Plan9, la "vue" de ton fichier est aussi un fichier, donc ton fichier "coloré syntaxiquement" est un fichier différent du fichier source et que ça devient donc le bordel à gérer: si tu édites le fichier "coloré", il faut retirer les colorations pour pouvoir insérer tes modifications dans le fichier sources..
Certes, mais il n’empêche que certains outils font plus facilement certaines choses que d'autre: tu peux planter un clou avec un tournevis mais ça n'est pas pratique: la structure "tout fichier" de Plan9 rend plein de chose plus simple mais apparemment complique la coloration syntaxique.
J'espère que l'auteur du post se trompe: la "coloration syntaxique" ce n'est qu'un cas particulier de tout un ensemble de transformation très utile fait par les traitements de textes donc si Plan9 ne permet pas de faire ça, c'est très gênant.
[^] # Re: Coloration syntaxique
Posté par barmic . Évalué à -2.
C'est pourtant un cas extrêmement simple de traitement de fichier. Tu peut garder 2 versions du même fichier un source et un qui contient les caractères ajoutant la coloration. C'est basique. Si après 30 ans, ils ont pas géré ce genre de cas ça n'est pas la peine de continuer leur idée est jolie mais ne mène à rien, on importe les parties intéressantes ailleurs et on laisse tomber.
C'est bien ce que je tentais de dire. Le tout fichier extrémiste c'est sympa, mais si t'es pas en mesure de faire : du traitement de texte, de l'imagerie, etc. C'est que ton truc ne sortira pas de ton garage.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Coloration syntaxique
Posté par claudex . Évalué à 5.
Ce n'est pas le but.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Coloration syntaxique
Posté par Sygne (site web personnel) . Évalué à 3.
Revenons sur terre:
[^] # Re: Coloration syntaxique
Posté par Renault (site web personnel) . Évalué à 6.
D'après la FAQ d'acme, la raison est tout autre qu'une raison de philosophie ou de technique :
Source : http://acme.cat-v.org/faq
Donc pour eux, c'est inutile, c'est aussi simple que cela.
[^] # Re: Coloration syntaxique
Posté par gouttegd . Évalué à 7.
Qui est ce mystérieux personnage qui a créé les principaux utilisateurs d’Acme ?
# ou est le .rpm
Posté par kowalsky . Évalué à 2.
Bon, je crois que j'ai compris ce qu'est plan9 maintenant !
Par contre ou est le rpm pour l'installer sur mon linusc ?
===> [ ]
[^] # Re: ou est le .rpm
Posté par JGO . Évalué à 4. Dernière modification le 19 février 2014 à 15:40.
Si tu préfères linux, tu peux installer :
* plan9port, un port des programmes user-space de plan9, disponible dans toutes les bonnes distros linux.
* glendix, une distribution plan9/linux (au lieu de GNU/linux)
[^] # Re: ou est le .rpm
Posté par kna . Évalué à 3.
* 9base, si tu veux juste t'amuser avec le rc shell
[^] # Re: ou est le .rpm
Posté par potate . Évalué à 2.
Et concrètement, pourquoi utiliser plan9port ou 9base ?
Quels avantages ont les utilitaires plan9 sur leur homologues GNU ? Les arguments donnés par le rapport sur Glendix (nombre de ligne de code inférieur et binaires compilés statiquement) ne me convainquent pas.
[^] # Re: ou est le .rpm
Posté par Renault (site web personnel) . Évalué à 3.
Le but est éventuellement d'utiliser l'environnement complet (rio, acme, autres applications spécifiques), pas utiliser ls ou cp et consorts version Plan 9.
# Plan9 est un OS
Posté par MrBidon . Évalué à 2.
J'ai bon ?
# Trop simple?
Posté par reno . Évalué à 1.
Ça, ça n'est pas être simple, c'est être un FS inutilisable, un jouet: pas de quoi se vanter..
A un moment donnée je sauvegarde un gros fichier (un film par exemple) et je ne peux plus l'effacer??
[^] # Re: Trop simple?
Posté par kowalsky . Évalué à 4.
Tu reformate ton volume je pense.
C'est convivial…
[^] # Re: Trop simple?
Posté par Alex . Évalué à 6.
AMHA (car je ne connais pas le fs en question), c'est pour faire de la non répudiation. C'est pour des contextes précis, pas sur une machine desktop lambda.
un peu comme lorsque tu stockes sur du svn
[^] # Re: Trop simple?
Posté par Sygne (site web personnel) . Évalué à 6.
C'est exactement ça: Venti est le système de fichier utilisé pour stocker les snapshots de fossil, le sytème de fichier courant. Et chez Bell Labs, je crois qu'il sert à stocker l'historique du système de fichier du cluster de machines Plan9, et avec lui, l'historique des modifications apportées aux sources. Il n'est donc pas question d'en effacer une partie.
[^] # Re: Trop simple?
Posté par reno . Évalué à -1.
Tu parle de "systeme de fichier", mais dans la plupart des systèmes de fichier on peut effacer des snapshots, par contre comme base de donnée pour un outil de gestion de configuration, ok, là ça a un sens.
[^] # Re: Trop simple?
Posté par Prosper . Évalué à 4.
Ca peut avoir du sens dans le cas de l'archivage légal , cela dit, la plupart des solutions d'archivage légal ( type netapp snaplock ou emc centera ) sont en write-only mais avec rétention ( de une à plusieurs années selon la loi en vigueur )
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.