Banan OS: Ein voll funktionsfähiges Unix-ähnliches Betriebssystem, von Grund auf in C++ erstellt
Ein Student hat ein komplettes Betriebssystem von Grund auf in C++ gebaut. Ja, Sie haben richtig gelesen! Lernen Sie Banan OS kennen, ein Hobby-Betriebssystem für die x86_64- und i686-Architekturen, das vollständig in C++ von einem Universitätsstudenten Oskari Alaranta geschrieben wurde. Das Projekt ist vollständig unabhängig, mit allen Codes, die ausschließlich von Alaranta geschrieben wurden, abgesehen von eventuell portierter Software.
In diesem Blogbeitrag werden wir die technischen Details von Banan OS betrachten. Wir werden auch besprechen, was seinen Schöpfer motiviert hat, ein komplettes Betriebssystem von Grund auf neu zu entwickeln. Schließlich werden wir über die Herausforderungen sprechen, denen er während des Prozesses gegenüberstand.
Was ist Banan OS?
Banan OS ist ein unixähnliches Betriebssystem, das für die x86- und x86_64-Architekturen entwickelt wurde. Glauben Sie es oder nicht, Oskari Alaranta, ein autodidaktischer Programmierer und Student, hat das gesamte Banan OS von Grund auf in C++ entwickelt. Es ist wirklich beeindruckende Arbeit!
Banan OS verfügt über einen monolithischen Kernel und eine Reihe wesentlicher Komponenten, einschließlich eines Bootloaders, Kernels und Userspace-Bibliotheken. Was Banan OS auszeichnet, ist die Verwendung einer eigenen C++-Standardbibliothek, die teilweise von stdc++ inspiriert ist, sowie die robuste Unterstützung moderner Hardware- und Softwareanforderungen.
Das System bietet bereits eine funktionale TTY- und GUI-Umgebung sowie wichtige UNIX-Dienstprogramme wie cp, ls und stat. Es unterstützt USB-Geräte, NVMe- und AHCI-Festplatten und beinhaltet sogar einen eigenen Netzwerk-Stack mit TCP- und UDP-Fähigkeiten.
Mit einem UNIX-ähnlichen Dateisystem, das /dev, /tmp und /proc umfasst, ist Banan OS mehr als ein Lernprojekt – es ist ein Schritt hin zu einem vollständigen, eigenständigen Betriebssystem.
Alaranta stellte fest, dass er Banan OS sowohl regelmäßig in virtuellen Maschinen als auch auf echter Hardware testet.
Motivation
Oskari Alaranta hat über zwei Jahre der Entwicklung von Banan OS gewidmet. Seine Hauptmotivation scheint ein starkes Interesse an Low-Level-Programmierung, insbesondere an der Betriebssystementwicklung, zu sein.
Diese Leidenschaft spiegelt sich in seiner Entscheidung wider, das gesamte Betriebssystem von Grund auf in C++ zu schreiben, ausgenommen portierte Software.
Herausforderungen
Alaranta stellt fest, dass die größten Herausforderungen, denen er bei der Entwicklung von Banan OS begegnet ist, das Verstehen umfangreicher technischer Spezifikationen betreffen, etwas, das er zuvor nicht erlebt hatte.
Das Projekt war jedoch auch von lohnenden „Es lebt“-Momenten geprägt. Alaranta findet es besonders befriedigend, neue Funktionen fehlerfrei auf echter Hardware arbeiten zu sehen, und nennt Meilensteine wie:
- Tastatureingabe erreichen
- USB-Mauseingabe implementieren
- DOOM erfolgreich ausführen
- Daten von Festplatten lesen
- Netzwerkverbindung herstellen
- Einen Compiler zum Laufen bringen
Er betrachtet das Projekt als wirklich angenehm geworden, nachdem die grundlegenden Komponenten etabliert wurden, was ihm größere Freiheit erlaubte, über konventionellen Betriebssystemcode hinaus zu erkunden und Funktionen von persönlichem Interesse zu verfolgen. Dieses Stadium, schätzt er, wurde nach etwa zwei Monaten Entwicklung erreicht.
Oskari Alaranta: Der Entwickler hinter Banan OS
Zum Zeitpunkt des Schreibens ist Oskari Alaranta ein 22-jähriger autodidaktischer Programmierer und Student mit Sitz in Tampere, Finnland. Er ist an Low-Level-Programmierung interessiert, insbesondere an der Entwicklung von Betriebssystemen.
Alarantas Leidenschaft für die Entwicklung von Betriebssystemen führte ihn dazu, Banan OS zu erstellen, ein Projekt, das sich über mehr als zwei Jahre erstreckt hat. Er hat den Wunsch geäußert, eine Karriere in der Branche anzustreben und dabei möglicherweise seine Erfahrung mit Banan OS als Portfolio-Arbeit zu nutzen.
Zum Beitrag zu Banan OS
Banan OS ist ein sehr neues Projekt, und Oskari Alaranta begrüßt Beiträge, um es zu verbessern.
Da Banan OS ein Lernprojekt für Alaranta ist, bittet er die Mitwirkenden, ihn im Voraus zu kontaktieren (per E-Mail, Discord oder durch Erstellen eines Issues), bevor sie mit der Arbeit an neuen Funktionen beginnen. Fehlerbehebungen sind immer willkommen.
Banan OS wird hauptsächlich auf Alarantas persönlichem Server gehostet. Während das Mitwirken nicht so unkompliziert ist wie auf Plattformen wie GitHub, können Sie Pull Requests über das GitHub-Spiegel-Repository einreichen, und Alaranta wird sie manuell anwenden.
Wenn Sie ein direktes Konto auf Alarantas Server haben möchten, können Sie ihn per E-Mail oder Discord kontaktieren.
Fazit
Banan OS ist der Beweis dafür, dass mit Hingabe sogar ein einzelner Student etwas Bemerkenswertes schaffen kann. Oskari Alaranta hat erhebliche Zeit und Mühe in die Entwicklung von Banan OS investiert.
Ein bemerkenswerter Aspekt von Banan OS ist, dass es weitgehend von Grund auf neu gebaut wurde, wobei Alaranta den größten Teil des Codes selbst schreibt. Dieser ehrgeizige Ansatz erfordert tiefgehendes technisches Wissen und eine lösungsorientierte Denkweise.
Alarantas Engagement, alles von Grund auf neu zu entwickeln, erstreckt sich auf kritische Komponenten wie den AML-Interpreter, den er selbst zu entwickeln wählte, anstatt bestehende Lösungen zu nutzen. Diese Entscheidung zeigt sein Bestreben, alle Aspekte des Betriebssystems zu verstehen und zu kontrollieren.
Banan OS befindet sich noch in der Entwicklung. Überprüfen Sie das GitHub-Repository des Projekts auf die neuesten Updates und Änderungen.
Ressource:
- Banan OS GitHub-Repository
