• [^] # 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)