1 points par GN⁺ 2025-09-14 | 1 commentaires | Partager sur WhatsApp
  • SkiftOS est un système d’exploitation open source conçu et développé de zéro en C/C++
  • Il a été créé pour pouvoir fonctionner sur plusieurs architectures comme ARM, x86 et RISC-V
  • Il se distingue par une recherche de simplicité et de plaisir d’utilisation, à l’opposé des systèmes d’exploitation grand public
  • Il convient aussi bien aux débutants qu’aux développeurs pour l’expérimentation, l’apprentissage, l’étude de l’architecture des systèmes d’exploitation et un usage personnel
  • L’ensemble du code source est disponible sur GitHub

Importance du projet et éléments différenciants

  • Contrairement aux grandes distributions, SkiftOS est développé par une petite équipe avec un regard neuf
  • Sa conception basée sur C/C++ est utile pour comprendre les systèmes bas niveau et apprendre les algorithmes
  • La prise en charge de diverses plateformes matérielles offre de larges possibilités d’expérimentation et d’extension
  • Axé sur la communauté, le projet permet à chacun de contribuer ou de faire part de ses retours

1 commentaires

 
GN⁺ 2025-09-14
Réactions sur Hacker News
  • Impressionné qu’en 6 ans, une seule personne ait réussi à produire non seulement un microkernel très bien conçu, mais aussi un système de build, un bootloader UEFI, un shell graphique, un framework UI et même un moteur de navigateur ; cela donne l’impression que l’idée du développeur 10x n’est pas exagérée, mais en réalité sous-estimée
    • Contrairement à d’autres projets similaires, le fait que cette personne ait accompli tout cela sans révélation divine rend la chose encore plus impressionnante
    • Recommande de lire le journal de développement de SerenityOS : https://serenityos.org/
    • C’est vraiment incroyable et impressionnant
  • Mon projet s’est retrouvé de manière inattendue en page principale aujourd’hui ; le build est actuellement cassé, donc il n’est pas possible de tester l’OS complet, mais on peut exécuter des applications individuellement sur Linux ou macOS ; l’utilisation est ./skift.sh run --release <app-name>, et on peut voir les applications disponibles avec la commande ls ./src/apps
    • Le navigateur (vaev-browser) nécessite une commande distincte (./skift.sh run --release vaev-browser -- <url-or-file>). La pile HTTP est très minimale, donc seul http:// est pris en charge, pas HTTPS ; cela fonctionne sur mon site, mais les résultats peuvent varier ailleurs ; jusqu’ici, la majeure partie du temps a été consacrée au styling et au moteur de layout, pas au réseau
    • Tu as mentionné que « mon microkernel a été influencé par Zircon » ; je me demande si tu as aussi étudié d’autres architectures comme sel4, Minix ou openQNX, et quels choix de conception tu considères comme importants dans le design d’un microkernel ; y a-t-il une documentation plus détaillée à ce sujet, et as-tu fait des mesures de performance comme des benchmarks, ou observé des performances proches d’un microkernel en particulier ?
    • C’est impressionnant d’avoir exploré une voie différente d’UNIX
    • En voyant les noms Skift, Karm, Hjert, Opstart, etc., en tant que Norvégien, j’ai l’impression que la nomenclature du système vient du danois ou d’un style danois
    • J’aimerais entendre monax raconter comment le projet a commencé ; je veux moi aussi construire un microkernel pour apprendre les bases d’un OS, mais je ne sais pas par quoi commencer ; sur quoi faut-il se concentrer à la première étape ?
  • Le code est très bien écrit, facile à comprendre et moderne ; je me demande simplement comment une application que l’on vient de compiler peut fonctionner sur macOS
    • Le framework dispose d’une couche d’abstraction de l’OS et utilise SDL pour créer les fenêtres et recevoir les entrées utilisateur
  • Avec un projet comme celui-ci, même un CV de deux lignes seulement (email, site du projet) suffirait pour se faire recruter à beaucoup d’endroits
  • Je me demande comment on peut construire quelque chose comme ça dans des contraintes de temps normales ; en tant que développeur ordinaire travaillant de 9 h à 17 h, j’ai l’impression qu’il est difficile de mener un projet de cette ampleur
    • En réalité, ce n’est pas possible ; la plupart de mon code a été écrit pendant une période où je n’avais quasiment pas de vie sociale
    • Je me pose exactement la même question
  • C’est vraiment stupéfiant d’avoir construit ça seul ; en tant que développeur C/C++, je sais comment on fabrique un OS, mais je n’en reste qu’au stade des idées ; voir un tel résultat écrit en solo me laisse sans voix
    • Il est mentionné qu’une aide a été reçue pour la partie moteur de navigateur
  • Je suis curieux de savoir quelles idées ont été utilisées côté sécurité : les applications ont-elles un accès complet à la mémoire ou au matériel ? Y a-t-il un système de permissions ? Je demande parce que je ne suis pas familier avec les microkernels
    • Les applications n’ont pas un accès complet à la mémoire ni au matériel ; le kernel ne mappe que les parties autorisées, les pilotes s’exécutent en espace utilisateur, et les applications communiquent avec les pilotes via des capabilities (handles) ; l’accès n’est possible que si l’autorisation a été accordée à l’avance
  • Ça a l’air formidable ; par curiosité, quelle part d’IA as-tu utilisée pour écrire le code ?
  • Le projet a vraiment l’air excellent, et je suis admiratif du fait d’avoir aussi écrit le moteur de navigateur ; y a-t-il par hasard une démo vidéo ?
    • Une démo vidéo serait vraiment appréciable
  • Cela représente visiblement une énorme quantité de travail, et c’est surprenant d’avoir créé un système de build sur mesure ; vu l’état actuel des systèmes de build C++, je peux comprendre ; je me demande pourquoi les développeurs d’OS semblent obsédés par l’idée de faire un navigateur, alors que celui-ci ne paraît pas si dépendant de l’OS ; et au passage, l’interface est jolie
    • Je vois le navigateur simplement comme un runtime d’application