3 Punkte von GN⁺ 2024-01-04 | 1 Kommentare | Auf WhatsApp teilen
  • Maestro ist ein Unix-ähnlicher Kernel und ein Betriebssystem, das von Grund auf in der Sprache Rust geschrieben wurde.
  • Anfangs wurde es in C implementiert, doch als es schwierig wurde, die Codebasis sauber zu halten, erfolgte der Wechsel zu Rust.
  • Rust ermöglichte es, das Projekt von Grund auf neu zu starten, was innovativer war, als einen Linux-ähnlichen Kernel in C zu schreiben, und hilft dank der Sicherheitseigenschaften von Rust dabei, die Schwierigkeiten der Kernel-Programmierung zu verringern.

Aktueller Stand des Projekts

  • Maestro ist derzeit ein monolithischer Kernel, der nur die x86-Architektur (32 Bit) unterstützt.
  • Zum Zeitpunkt des Schreibens sind etwa 135 Linux-Systemaufrufe implementiert, was rund 31 % entspricht.
  • Neben dem Kernel enthält das OS weitere Komponenten wie das Boot-System und den Daemon-Manager Solfège, die System-Utility-Befehle maestro-utils sowie den Paketmanager blimp.
  • Es wurde getestet, dass Drittanbieter-Software wie musl (C-Standardbibliothek), bash, einige GNU-coreutils-Befehle und neofetch (gepatchte Version) auf dem OS funktioniert.

Selbst testen!

  • Das OS befindet sich noch in einem frühen Entwicklungsstadium und ist sehr instabil, daher wird die Installation auf Maschinen mit wichtigen Daten nicht empfohlen.
  • Getestet wurde es hauptsächlich mit QEMU, VMWare und VirtualBox.
  • Es gibt zwei Möglichkeiten, das OS zu installieren: eine vorgefertigte .iso-Datei herunterladen oder das ISO selbst bauen.
  • Installierte Pakete werden nicht auf der Festplatte, sondern im RAM (initramsfs) gespeichert, daher wird ausreichend RAM (mindestens 1 GB) benötigt.

Über diesen Blog

  • Ziel dieses Blogs ist es nicht, ein Tutorial zum Erstellen eines OS zu schreiben, sondern fortgeschrittenere Themen zu erkunden, Lösungswege für Probleme zu teilen und zu entdecken, wie Computer, Betriebssysteme und das Internet funktionieren.
  • Besonders empfohlen werden osdev.org und der Blog von Philipp Oppermann.

Was als Nächstes kommt

  • Die Codebasis muss aufgeräumt und die Performance optimiert werden.
  • Das Beheben von Memory Leaks und Performance-Optimierung könnten Themen künftiger Blogartikel sein.
  • Das nächste Ziel ist, den Paketmanager vollständig im OS lauffähig zu machen.
  • Unterstützung für Netzwerk und Shared Libraries wird benötigt.

Wie man helfen kann

  • Man kann in Kontakt bleiben, indem man dem Github-Repository einen Stern gibt, den Newsletter abonniert, den RSS-Feed verfolgt oder dem Discord beitritt.

Meinung von GN⁺

  • Das Maestro-Projekt ist ein Unix-ähnliches Betriebssystem, das in Rust geschrieben wurde und bei der Kernel-Entwicklung auf Sicherheit und Innovationskraft setzt.
  • Das Projekt bietet eine interessante Gelegenheit für Entwickler, die zur Open-Source-Community beitragen möchten, und kann helfen, das Zusammenspiel realer Hardware und Software besser zu verstehen.
  • Für angehende Softwareingenieure, die die Vorteile und Grenzen der Systemprogrammierung mit Rust praktisch kennenlernen möchten, kann es nützliches Lernmaterial sein.

1 Kommentare

 
GN⁺ 2024-01-04
Hacker-News-Kommentare
  • Dank für die Unterstützung des Projekts

    • In dieses Projekt ist viel Arbeit geflossen, und es bedeutet dem Entwickler sehr viel.
    • Die Website ist derzeit sehr langsam oder nicht erreichbar. Es gibt unerwartet viel Traffic, und ein DoS-Angriff wird vermutet.
    • Wenn er wieder zu Hause ist, will er versuchen, die Website zu verbessern. Im Moment kann er ihr wegen der Arbeit nicht viel Aufmerksamkeit widmen.
    • Er entschuldigt sich für die Unannehmlichkeiten, freut sich aber darüber, dass das Projekt gewürdigt wurde.
  • Kommentar zu einem großartigen kleinen Projekt

    • Es ist erstaunlich, wie weit man booten kann, ohne auch nur ein Drittel der Linux-Systemaufrufe implementiert zu haben.
    • Es wird vermutet, dass die noch nicht implementierten Systemaufrufe komplexer sein dürften.
    • Zum Beispiel wirkt die TTY-Schicht derzeit noch sehr grundlegend. Sie korrekt zu implementieren, dürfte viel Arbeit sein.
    • Daher sollte man nicht erwarten, dass Maestro in den nächsten drei Jahren Linux-Anwendungen ausführt.
  • Kommentar zu Sicherheit/Penetrationstests

    • Da das Projekt in Rust entwickelt wurde, wäre es interessant, Sicherheitstests zu sehen, ob Hacker Schwachstellen finden können.
  • Erwähnung des Kerla-Projekts

    • Es gab auch Kerla (ein in Rust geschriebener Monokernel mit dem Ziel der Linux-ABI-Kompatibilität), aber dort gab es seit einigen Jahren keine Aktivität mehr.
  • Kommentar zu den Nachteilen der Verwendung von C und den Schwierigkeiten der OS-Entwicklung

    • Die meisten Nachteile und Schwierigkeiten liegen im Debugging.
    • Es stellt sich die Frage, ob durch den Wechsel zu Rust zwar bestimmte Klassen von Speicherfehlern eliminiert wurden, Debugging aber weiterhin schwierig ist, oder ob nach dem Wechsel weniger Debugging nötig ist und es dadurch einfacher wurde.
  • Erwähnung der Einstellung des Kerla-Projekts

    • Es wird erwähnt, dass Kerla, ein Projekt, das bereits versucht worden war, eingestellt wurde.
  • Kommentar zur Komplexität von Computern

    • Computer gehören zu den komplexesten Werkzeugen, die die Menschheit geschaffen hat.
  • Rat zum Abbau technischer Schulden

    • Als es als Schulprojekt begann, wurden wegen Zeitdrucks an manchen Ecken Abstriche gemacht, aber nun sei es an der Zeit, die technischen Schulden abzubauen; es wird empfohlen, diese Denkweise beizubehalten.
  • Interesse an Gource

    • Das Tool namens Gource, das der Autor zur Erstellung eines Beitragsvideos verwendet hat, wird als sehr interessant empfunden. Eine ähnliche Idee habe man früher schon einmal gehabt, aber offenbar gibt es keine wirklich originellen Ideen.
  • Interesse am Bau eines Kernels

    • Die Idee, zu Lernzwecken einen Kernel zu bauen, gefällt sehr. Es besteht Neugier darauf, welche Materialien zum Verständnis von Kerneln/OS im Allgemeinen verwendet wurden.