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

[Login] [Registrieren] [Passwort vergessen?]

< Nächste MeldungVorige Meldung >
04.Nov.2023
Dietmar Planitzer (Mail)


Betriebssystem für den Amiga 3000/4000: Status-Update zu "Apollo"
Vor rund einem Jahr berichteten wir über den Beginn von Dietmar Planitzers Projekt, mit "Apollo" ein experimentelles Betriebssystem für den Amiga 3000/4000 zu schreiben. Wir haben beim Entwickler nachgefragt, wie der aktuelle Stand der Arbeiten ist, und folgendes hat er freundlicherweise für uns zusammengefasst:

"Apollo befindet sich am Anfang einer (langen) Reise. Zurzeit existieren die Grundlagen eines Betriebssystems, welches in einem Amiga mit einem 68030 Prozessor und zumindest 256 KB Hauptspeicher laufen kann. Das Betriebssystem muss allerdings in einem ROM Chip gespeichert werden, der das Standard ROM welches sich in einem Amiga befindet ersetzt.

Was kann man mit Apollo zurzeit tun?

Als Anwender, nicht besonders viel. Man kann wie in einem Texteditor interaktiv Text eingeben und sich daran erfreuen, wie die Maschine auf jeden Tastendruck mit der Ausgabe eines wunderschönen Buchstaben reagiert :)

Als Entwickler/Hobbyprogrammierer gibt es interessantere Dinge zu entdecken: Apollo ist ein preemptives multi-tasking Betriebssystem, das wie POSIX eine Prozesshierarchie unterstützt und Ressourcen mittels einem allgemeinen "file descriptor" Modell zugänglich macht. Ebenso wie in typischen POSIX Systemen gibt es eine klare Trennung zwischen Kernel und User Space (wo Programme ausgeführt werden).

Multi-tasking funktioniert allerdings anders als im originalen Amiga OS oder einem typische POSIX System: Apps erzeugen und verwalten in diesen Systemen sogenannte Threads, um multi-tasking zu erreichen. Threads erlauben ein Programm Dinge parallel auszuführen. Das Problem mit diesem traditionellen Modell ist, dass Programme typischerweise (direkt oder indirekt) sehr viele von diesen Threads erzeugen und die meisten von denen dann die meiste Zeit mit schlafen verbringen.

Apollo hat keine Threads. Stattdessen hat es "virtual processors" und "dispatch queues". Ein virtual processor ist ähnlich wie ein Thread, allerdings gehört er keiner spezifischen Applikation an. Virtual processors können von Apollo je nach Bedarf zwischen Applikationen hin und hergeschoben werden. Applikationen benutzen dispatch queues, um Apollo klarzumachen, was sie parallel ausführen wollen. Dispatch queues sind ähnlich den dispatch queues, wie man sie in macOS findet, allerdings ist Apollo im Gegensatz zu macOS vollständig vom Grunde auf um dispatch queues herum aufgebaut.

Was bietet Apollo sonst noch?

Es gibt eine Konsole, welche Tastatur und Mauseingabe unterstützt sowie eine weitestgehende VT100 kompatible Ausgabe auf den Bildschirm erlaubt. Es gibt die Anfänge eines allgemeinen "device driver managers" also einer Komponente, welche Hardware erkennt und sie verwaltet. Hardware wie zB die Tastatur, Maus, Joystick, Speichererweiterungen, Floppy Drives, etc.

Außerdem gibt es noch den Anfang einer Standard Library für die Programmiersprache C, um (kleine) Programme für Apollo schreiben zu können.

Nächste Schritte

Der wichtigste nächste Schritt ist die Implementierung eines Filesystems für Floppys und danach Hard Disks. Ebenso die Implementierung einer (einfachen) Shell, um Programme ausführen zu können. Mit diesen Komponenten sollte Apollo für einen Anwender etwas interessanter werden.

Weitergehende Pläne umfassen Dinge wie "protected memory" und "pagging/swapping" und das Unterstützen von anderen 68030 Systemen wie Atari TT & Falcon." (dr)

[Meldung: 04. Nov. 2023, 07:52] [Kommentare: 15 - 13. Nov. 2023, 18:23]
[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.
.