12 points par xguru 2021-10-12 | 1 commentaires | Partager sur WhatsApp
<p>- Un OS qui donne l’impression de combiner l’interface de Windows/Mac de la fin des années 1990 avec un cœur *nix de la fin des années 2000 <br /> - Démarré comme un projet solo, il continue de grandir depuis 3 ans grâce au soutien de la communauté <br /> - Du noyau au navigateur web et à l’IDE, tout est « développé à la main depuis zéro, sans bibliothèques externes »<br /> - Le système lui-même est développé en Serenity C++. <br /> → une variante moderne du C++ avec sa propre bibliothèque standard<br /> <br /> Repo : https://github.com/SerenityOS/serenity<br /> <br /> - Fonctionnalités du noyau <br /> → noyau x86 (32 bits) / x86_64 (64 bits) prenant en charge le multithreading préemptif <br /> → pile IPv4 (ARP, TCP, UDP, ICMP)<br /> → système de fichiers ext2 <br /> → prise en charge des signaux POSIX <br /> → prise en charge du système de fichiers /proc <br /> <br /> - Services système <br /> → daemon de lancement/session (SystemServer)<br /> → serveur de fenêtres avec composition (WindowServer)<br /> → gestionnaire de console texte (TTYServer)<br /> → client DNS (LookupServer)<br /> → serveur de protocoles réseau (RequestServer and WebSocket)<br /> → daemon audio avec mixage logiciel (AudioServer)<br /> → notifications de bureau (NotificationServer)<br /> → serveur HTTP (WebServer)<br /> → serveur Telnet (TelnetServer)<br /> → client DHCP (DHCPClient)<br /> <br /> - Bibliothèques<br /> → templates et conteneurs C++ (AK)<br /> → boucle d’événements et utilitaires (LibCore)<br /> → bibliothèque graphique 2D (LibGfx)<br /> → bibliothèque compatible OpenGL 1.x (LibGL)<br /> → toolkit GUI (LibGUI)<br /> → bibliothèque de communication interprocessus (LibIPC)<br /> → moteur HTML/CSS (LibWeb)<br /> → moteur JavaScript (LibJS)<br /> → Markdown (LibMarkdown)<br /> → audio (LibAudio)<br /> → chaînes de traitement du signal numérique/synthétiseur (LibDSP)<br /> → base de données PCI (LibPCIDB)<br /> → émulation de terminal (LibVT)<br /> → E/S de protocoles réseau hors processus (LibProtocol)<br /> → fonctions mathématiques (LibM)<br /> → gestion des fichiers ELF (LibELF)<br /> → threading POSIX (LibPthread)<br /> → threading de plus haut niveau (LibThreading)<br /> → sécurité de la couche transport (LibTLS)<br /> → HTTP et HTTPS (LibHTTP)<br /> → IMAP (LibIMAP)<br /> <br /> - Fonctionnalités userland<br /> → libc et userland de type Unix<br /> → shell avec pipes et redirection d’E/S<br /> → système d’aide en ligne (versions terminal et GUI)<br /> → navigateur web (Browser)<br /> → IDE C++ (HackStudio)<br /> → synthétiseur de bureau (Piano)<br /> → client e-mail (Mail)<br /> → diverses applications desktop et jeux<br /> → thèmes de couleurs</p>

1 commentaires

 
xguru 2021-10-12
<p>Je pense que c’est l’un des OS développés en hobby les plus singuliers. C’est aussi impressionnant de voir qu’ils ont implémenté et intégré toutes ces nombreuses bibliothèques et applications.<br /> À l’origine, c’est un projet qu’Andreas Kling a commencé en 2018 pour s’occuper, après avoir terminé un programme de réhabilitation de trois mois contre une addiction aux drogues, ce qui lui avait laissé beaucoup de temps libre.<br /> Auparavant, c’était un développeur qui travaillait sur WebKit chez Apple et Nokia. On dit que son expérience chez Apple l’a amené à privilégier le développement de tout en interne, sans paquets externes. <br /> <br /> Depuis le mois de mai de cette année, les dons sont désormais suffisants pour qu’il développe SerenityOS à plein temps.<br /> Actuellement, 232 personnes le soutiennent via GitHub Sponsors. https://github.com/sponsors/awesomekling<br /> Sur Patreon, ils sont 279 : https://www.patreon.com/serenityos<br /> <br /> Le nombre de contributeurs a dépassé les 500, et des mises à jour mensuelles de l’OS sont publiées sur la chaîne YouTube. <br /> https://youtube.com/playlist/… /> Début 2019, ces vidéos duraient une dizaine de minutes, mais aujourd’hui les mises à jour s’étendent plutôt sur 30 à 40 minutes. <br /> <br /> La vidéo montrant le portage en une heure sur SerenityOS de Devilution, la rétro-ingénierie de Diablo 1, est elle aussi bien connue.<br /> https://github.com/diasurgical/devilution<br /> https://www.youtube.com/watch?v=ZOzZ8R4gphE</p>;