amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

[Login] [Registrieren] [Passwort vergessen?]

< Nächste MeldungVorige Meldung >
13.Aug.2024



Betriebssystem für den Amiga: Zweite Alphaversion von "Serena OS"
Ende 2022 berichteten wir über den Beginn von Dietmar Planitzers Projekt, mit "Apollo" ein experimentelles Betriebssystem für den Amiga 3000/4000 zu schreiben. Der Entwickler hat sein sein Projekt mittlerweile in "Serena OS" umbenannt und eine zweite Alphaversion veröffentlicht, die nun als fertig kompiliertes ROM vorliegt. Grundsätzlich werden nun alle Amigas unterstützt, die über einen 68030 (oder schnelleren) Prozessor verfügen. Zur neuen Version hat er uns freundlicherweise folgende Erläuterungen verfasst:

"Version 0.2-alpha markiert die erste Binärversion von Serena OS. Ich denke, dass das Betriebssystem jetzt einen Punkt erreicht hat, an dem man damit herumspielen und Spaß haben kann und wo man vielleicht sogar etwas Nützliches damit machen kann.

Serena OS sollte auf jeglicher Amiga-Hardware mit einem 68030-Prozessor oder besser laufen. Der Kernel unterstützt auch Gleitkomma-Coprozessoren wie den 68882. Allerdings ist die mathematische Bibliothek Libm derzeit noch sehr unvollständig.

Das Betriebssystem verfügt über eine C99-kompatible Libc und eine interaktive Shell. Bitte bedenken Sie, dass Sie es mit einer Alpha-Version des Betriebssystems zu tun haben und dass Sie sozusagen Augenzeuge der Anfängen eines neuen Betriebssystems sind. Dementsprechend müssen sie auf Bugs und unvollständige Funktionen gefasst sein. Das Ziel besteht jedoch darin, die Dinge im Laufe der Zeit zu verbessern.

Diese Version des Betriebssystems wird als ROM-Image verteilt und das System startet von einem Disk-Image, das im ROM gespeichert ist. Dieses Disk-Image wird beim Booten in eine RAM-Disk kopiert. Dementsprechend ist es möglich, Dateien und Verzeichnisse zu erstellen. Bedenken Sie jedoch, dass keines der von Ihnen erstellten Dateien einen Systemneustart übersteht.

Abenteuerlustige Personen können eine Version des Betriebssystems erstellen, die von einer ADF-Disk-Image startet. Schauen Sie dafür in den Quellcode des Projektes, kommentieren Sie die Zeile BOOT_FROM_ROM:=1 im Projekt-Makefile aus und erstellen Sie dann das Projekt. Dadurch erhalten Sie eine 880 KB große ADF-Datei sowie ein neues ROM-Image im Ordner "build/product", welche Sie dann in einen Emulator laden können.

Denken Sie daran, dass die Geschwindigkeit der Diskette derzeit nicht besonders gut ist, da der Kernel noch keinen Disk-Cache hat und der Diskettentreiber das Schreiben auf Disketten noch nicht unterstützt.

Wie unterscheidet sich Serena OS vom ursprünglichen Amiga OS?

Der wichtigste Unterschied besteht darin, dass Serena OS in Bezug auf Funktionalität und Verhalten sich viel stärker an den POSIX-Standard anlehnt als das ursprüngliche Amiga-Betriebssystem es getan hat. Dies macht sich (aus der Sicht eines App-Entwicklers) am deutlichsten in dem Sinne bemerkbar, dass Serena OS ein vollständiges Ressourcen-Tracking durchführt. Das bedeutet, dass das Betriebssystem automatisch Ressourcen wie Speicher freigibt, wenn eine Anwendung beendet wird.

Ein weiterer bemerkenswerter Unterschied besteht darin, dass Serena OS auf modernen Ideen, Entwicklungsprinzipien, Praktiken und Zielen entwickelt und aufgebaut ist. Es implementiert beispielsweise eine "pervasive preemptive concurrency" in Form von virtuellen Prozessoren und Dispatch-Queues anstelle von Threads. Serena OS hat Threads vollständing hinter sich gelassen.

Darüberhinaus ist der Kernel basierend auf objektorientierten Design- und Implementierungstechniken aufgebaut, was die Erstellung neuer Treiber und Dateisysteme wesentlich erleichtert. Außerdem gibt es eine strengere Trennung zwischen Kernel- und User-Space als Vorbereitung für die zukünftige Unterstützung von virtuellem Speicher.

Schließlich sind der Kernel- und der User-Space für 64-Bit-Prozessoren und Multiprozessorsysteme konzipiert. Derzeit gibt es zwar noch keine spezielle Unterstützung für Multiprocessing, aber das System ist so konzipiert und implementiert, dass die Unterstützung dieser Art von Hardware möglich ist, ohne dass viele Änderungen am System vorgenommen werden müssen.

Die interaktive Shell



Serena OS Version 0.2.0

Serena OS verfügt über eine interaktive Shell, die sich stark von der typischen Amiga OS oder Unix-Shell unterscheidet: Die Shell implementiert eine formal definierte Sprache. Dies hat den Vorteil, dass die Sprache einfacher zu verwenden ist und ihre Syntax nicht den obskuren und unverständlichen Regeln folgt, die eine Folge eines Ad-hoc-Sprachdesigns sind. Stattdessen wurde die Serena-Shell-Sprache mit Blick auf Konsistenz und Benutzerfreundlichkeit entwickelt.

Auch diese Sprache basiert auf modernen Design-prinzipien und -praktiken: Sie ist stark typisiert, vollständig scoped, basiert auf Ausdrücken (Expressions) und unterscheidet klar zwischen veränderlichen und unveränderlichen Variablen. Expressions und Befehle können frei gemischt werden und sogar Bedingungen und Schleifen werden als Expressions behandelt.

Bitte bedenken Sie, dass es sich hier um eine Alpha-Version der Shell handelt, die noch unvollständig ist. Dinge wie Pipes und die allgemine automatische Erfassung der Resultate von Expressions werden in dieser Version noch nicht unterstützt. Dennoch ist es möglich, erfolgreich Shell-Skripte zu schreiben und nützliche Dinge zu tun. Nicht nur im Sinne des Jonglierens mit Dateien, sondern auch in dem Sinne, dass Sie mathematische Ausdrücke direkt in der Shell und den Shell-Skripten problemlos ausgewertet werden können.

Was kommt als nächstes?

Ich habe eine ganze Menge an Ideen für die Zukunft von Serena OS. Allerdings wird sich die nächste Version hauptsächlich auf die Behebung von Bugs und diversen strukturellen Bereinigungen konzentrieren, um die Implementierung der nächsten Generation von Featuren zu ermöglichen. Ausserdem is es mein Plan, die Unterstützung für Floppy Disks zu vervollständigen."

Wer gerne das ROM testen möchte, verwendet unter WinUAE am besten das Profil für den Amiga 3000 und setzt dann unter ROM den Pfad zum Serena-ROM. Wenn man das Kommando 'list' eingibt, sieht man wie oben ein paar Shell-Skripte, die als kleine "Demo" fungieren. (dr)

[Meldung: 13. Aug. 2024, 09:19] [Kommentare: 29 - 21. Aug. 2024, 13:09]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
< Nächste MeldungVorige Meldung >

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.