Revue de distribution Not-a-Linux: SerenityOS est une lettre d’amour Unix-y aux années 90

[ad_1]

Aujourd’hui, j’ai testé un projet de système d’exploitation en développement qui me semble spécialement conçu de manière inquiétante : SerenityOS. Je ne peux pas présenter SerenityOS plus précisément que son propre site Web :

SerenityOS est une lettre d’amour aux interfaces utilisateur des années 90 avec un noyau de type Unix personnalisé. Il flatte de sincérité en volant de belles idées à divers autres systèmes. En gros, l’objectif est un mariage entre l’esthétique des logiciels de productivité de la fin des années 90 et l’accessibilité pour les utilisateurs avancés de la fin des années 2000 *nix. C’est un système par nous, pour nous, basé sur les choses que nous aimons.

Chaque mot de cette introduction est presque chirurgicalement précis. Pour quelqu’un du groupe démographique cible de SerenityOS – quelqu’un comme moi (et probablement de nombreux Arsiens), qui a grandi avec les systèmes NT4 mais a mûri sur Linux et BSD modernes – SerenityOS frappe comme une lettre d’amour de l’ex que vous n’avez jamais tout à fait oublié.

SerenityOS n’est pas Linux, et ce n’est pas non plus BSD

Ce que cette brève introduction ne fait pas comprendre, c’est l’ampleur du projet. Vous pourriez penser que SerenityOS n’est qu’une distribution Linux avec une esthétique vaporwave inhabituellement ambitieuse, mais c’est en fait un système d’exploitation complet construit à partir de zéro. Cela signifie un noyau personnalisé, un gestionnaire d’affichage, un shell… tout.

Selon Andreas Kling, développeur fondateur de SerenityOS, il n’y a absolument aucun code tiers dans SerenityOS. « Quand nous avons commencé », a déclaré Kling à Ars, « nous avons importé quatre ou cinq fonctions de bibliothèque standard C de NetBSD ou quelque chose comme ça. Mais celles-ci ont été supprimées au fil du temps. Nous sommes maintenant libres de code tiers, à l’exception du processus de construction. »

Le processus de construction auquel Kling fait référence est quelque chose avec lequel vous devrez vous familiariser si vous souhaitez tester SerenityOS. Il n’y a pas de versions réelles à ce stade, et il n’y a pas de fichier ISO à télécharger. Au lieu de cela, vous devrez git clone le projet sur votre propre machine et compilez le système d’exploitation à partir des sources. Cela produit et exécute automatiquement une machine virtuelle SerenityOS spéciale.

Bien que SerenityOS n’utilise pas de code de Linux ou de BSD sous son capot, il emprunte quelques concepts à FreeBSD – sa licence (BSD à 2 clauses) et un système de gestion de logiciel « arbre de ports » similaire à celui de FreeBSD.

Il y a cependant un hic dans l’implémentation de SerenityOS de l’arborescence des ports : elle ne fonctionne pas dans SerenityOS lui-même. Au lieu de cela, l’utilisateur crée le port sur le système d’exploitation hôte, puis reconstruit l’image SerenityOS pour inclure le port nouvellement créé.

« C’est un système Unix ! Je sais ça! »

Bien que je n’aie techniquement jamais utilisé n’importe quoi dans SerenityOS auparavant, le système semblait immédiatement familier. Les consoles Unixlike, les traces de pile et les informations matérielles s’intègrent parfaitement aux interfaces à onglets simples des années 90. Si vous connaissez à la fois Windows NT et tout système d’exploitation Unixlike vaguement moderne, vous serez familiarisé avec SerenityOS dès voir son bureau.

Zut, SerenityOS ressemble assez à Windows NT pour être Windows NT à première vue. Il comprend même un système de thèmes qui ressemble et fonctionne incroyablement comme ceux que l’on trouve sur les systèmes d’exploitation Windows de la fin des années 90. Mais à l’intérieur du menu Démarrer à l’ancienne, de simples habillages de fenêtre et une police système agressivement simple sont des fondements Unix utilisés à bon escient.

Dans une console, un shell complet similaire à Bash vous attend. Le shell contient de nombreux utilitaires système que vous vous attendez à trouver sur un système de type Unix, y compris, mais sans s’y limiter, find, grep, et sysctl. Si vous parvenez à faire planter l’une des applications de SerenityOS – et si nous sommes honnêtes ici, vous le ferez probablement – la boîte de dialogue Crash Reporter ressemble à celle de Windows. Il présente, cependant, une trace de pile, le contenu des registres CPU et des variables d’environnement dans une interface à onglets simple.

Mon moins La caractéristique préférée de SerenityOS est son système de fichiers actuel, qui s’auto-déclare comme « Ext2FS ». Linux ext2 Le système de fichiers était plutôt bon pour l’époque – c’est juste que cette époque s’est terminée en 1998. J’espère que SerenityOS finira par avoir un système de fichiers plus moderne, avec une prise en charge de la journalisation appropriée pour la sécurité contre les pannes d’électricité.

Performances des années 90… dans le bon sens

Le système est également vite, de la même manière que NT 4.0 était rapide à son époque. Et les performances de SerenityOS sont cohérentes d’une manière que les systèmes d’exploitation n’ont pas vue depuis longtemps. Pour le moment, le noyau de SerenityOS n’est pas compatible avec le multitraitement symétrique (SMP) – sa machine virtuelle spéciale n’utilise qu’un seul thread du processeur physique de votre ordinateur hôte.

De toute évidence, un manque de support SMP limitera le système pour de nombreuses tâches du monde réel. SerenityOS ne peut s’en tirer qu’avec son modèle monothread parce que tout a été construit avec cette attente, mais cette attente a forcé Kling et les contributeurs qui sont venus plus tard à écrire un code exceptionnellement propre et sans crudités.

Le résultat de cet environnement monothread ? Belle simplicité. SerenityOS ne peut pas s’exécuter plus rapidement qu’un seul cœur de processeur de votre ordinateur hôte, mais il n’en exécute aucun Ralentissez, Soit.

Bien que SerenityOS soit actuellement limité à un seul thread, Kling nous dit qu’il travaille sur la mise à niveau du noyau. « Depuis deux semaines, je travaille sur le support multicœur… [but] ce n’est pas encore assez stable pour que tout le monde en vive. Jusqu’à présent, le système se bloque généralement en quelques minutes [if SMP is enabled]. »

[ad_2]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*