Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

SkiftOS - Recoder la roue c'est chouette aussi

Créer un système d’exploitation complet from scratch pour s’amuser, c’est le genre de projet un peu foufou qu’on ne voit plus tellement aujourd’hui. Pourtant SkiftOS existe !

SkiftOS c’est un OS écrit entièrement depuis zéro, et pas un n-ième fork de Linux ou d’une distribution BSD. Non, c’est un vrai OS avec son propre kernel, son interface graphique et même les bases d’un moteur de navigateur web.

J’ai découvert ce projet en me baladant sur les Top GitHub et ça m’a rappelé cette époque d’avant ma naissance où créer son OS était un genre de rite de passage pour tous les développeurs passionnés. Sauf qu’ici, on n’est plus dans les années 70 et le projet utilise du C++20 moderne avec une architecture microkernel très propre.

Et malgré son statut de projet “hobby”, il fonctionne réellement. Il tourne pour le moment sur du hardware x86_64 et l’équipe travaille sur le support RISC-V.

L’architecture modulaire du projet est d’ailleurs particulièrement bien pensée. Chaque module a son petit nom, c’est rigolo. Hjert gère le microkernel avec les fonctions essentielles telles que la gestion mémoire, l’ordonnancement et l’IPC (Inter-Process Communication). Karm fournit la bibliothèque C++ de base sans dépendre de la STL (Standard Template Library) . KarmUI propose un framework d’interface réactive. Hideo s’occupe du bureau et de l’environnement graphique. Et Vaev ambitionne de devenir un moteur de navigateur web complet.

Pour compiler tout ça, l’équipe a également développé CuteKit, leur propre système de build qui gère les dépendances et la cross-compilation. Bah oui, quand on réinvente un OS, autant réinventer aussi tous les outils pour le construire.

Cette approche “tout fait maison” rend en tout cas le projet fascinant d’un point de vue pédagogique. Car oui le code source est disponible sur GitHub donc si vous voulez comprendre comment fonctionne un OS moderne sans vous perdre dans les millions de lignes de code de Linux ou de Windows (pour les vieilles versions qui ont leakée), c’est une excellente opportunité pour apprendre. Pas besoin donc d’être Microsoft ou Apple pour développer un système d’exploitation fonctionnel.

Faut “juste” de la motivation, du temps, des compétences en C++ moderne, et surtout l’envie de construire quelque chose de différent.

Vous l’aurez compris, SkiftOS ne remplacera probablement jamais votre OS principal, c’est clair mais pour les développeurs curieux qui veulent comprendre les entrailles d’un système d’exploitation, ou pour ceux qui cherchent un projet open source technique sympa où contribuer, c’est une sacrée mine d’or.

Et qui sait, peut-être que dans quelques années on parlera de SkiftOS comme on parle aujourd’hui des débuts de Linux…

Microsoft prépare une interface graphique pour WSL avec Dev Home

Bonne nouvelle si vous utilisez WSL (Windows Subsystem for Linux), vous devriez bientôt échapper au bon vieux terminal puisque Microsoft travaille actuellement sur une interface qui nous permettra de gérer nos distros Linux adorées directement depuis Windows 11.

Les petits gars de chez Microsoft ont tout prévu puisqu’il y aura un onglet dédié dans Dev Home qui va permettre de voir vos VM, d’afficher leur conso, de les supprimer, de les mettra par défaut…etc. Bref, de tout gérer en mode click-o-drome comme d’hab chez krosoft.

Ils ont également pensé à un système pour y monter des disques formatés sous Linux, gérer les mises à jour et nous tenir au jus des dernières nouveautés. C’est pas beau ça ?

Le but pour Microsoft, c’est surtout de démocratiser WSL et de le rendre accessible au plus grand nombre. Bon, bien sûr pour le moment, tout n’est pas encore parfait et il y a encore du taf pour rendre l’intégration vraiment fluide et trouver le bon équilibre entre simplicité et fonctionnalités. Mais je leur fais confiance ^^.

Bref, surveillez bien les mises à jour de Dev Home dans les prochains mois, parce que ça va bouger ! Et si vous voulez suivre l’avancée du projet, n’hésitez pas à checker régulièrement le repo GitHub.

Source

❌