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

[Login] [Registrieren] [Passwort vergessen?]

< Nächste MeldungVorige Meldung >
10.Mär.2024
Dietmar Planitzer (Mail)


Betriebssystem für den Amiga 3000/4000: Erste 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. Nach einem weiteren Statusupdate Ende letzten Jahres, hat der Entwickler sein Projekt nun in "Serena OS" umbenannt und eine erste Alphaversion veröffentlicht, zu der er uns freundlicherweise Folgendes geschrieben hat:

"Lasst uns mit der offensichtlichsten Änderung beginnen: Apollo heißt jetzt Serena OS.

Ansonsten haben sich einige Dinge über die letzten Monate getan. Serena verfügt nun über ein API welches es möglich macht (einfache) Programme zu schreiben. Zurzeit werden Dispatch Queues, Files, Directories, Pipes sowie Clock und Timer Funktionen unterstützt. Zusätzlich gibt es eine fortgeschrittene C Standard Library (libc) und die Anfänge einer C Mathematik Library (libm). Ebenso gibt es jetzt eine einfache Shell und ein RAM-basiertes Filesystem. Auch die VT52 und VT100 Terminal Emulation ist inzwischen weitestgehend vollständig und die VT52 Emulation unterstützt jetzt auch die Atari ST Erweiterungen. Sowohl die VT100 als auch die VT52 Emulation unterstützen nun auch mehrere Farben (im VT52 Emulationsmodus müssen die entsprechenden Atari ST ESC Codes verwendet werden).

Zurzeit hat das System allerdings noch eine recht signifikante Limitierung: weder Floppy Disk noch Harddisk wird zurzeit unterstützt. Das zu erreichen, ist allerdings der Plan für die nächste Stufe des Projekts. Damit wird es dann möglich werden, ein Programm für Serena auf einem Windows oder Linux Rechner zu erstellen, um es dann auf dem Amiga unter Serena laufen zu lassen.

Ich vermute mal, das sich der Eine oder Andere fragt, was denn diese ominösen Dispatch Queues sind?

Dispatch Queues werden dazu benutzt, Programmteile parallel ablaufen zu lassen. Das originale Amiga OS hat dafür Tasks zur Verfügung gestellt und andere Betriebssysteme stellen dafür Threads zur Verfügung. Apples macOS implementiert Dispatch Queues auf der Basis von traditionellen Threads.

Das Problem mit Threads und Tasks ist, dass Programme diese allozieren, dann zeitweise benutzten, um dann die meiste Zeit damit zu verbringen, einfach nur passiv auf dem Ding herumzusitzen, ohne es tatsächlich zu nutzen (Threads verbringen viel Zeit damit zu, zu schlafen). Allerdings belegt ein Thread immer Speicher und Kernel Ressourcen – ob er schläft oder tatsächlich Arbeit verrichtet, macht keinen Unterschied.

Serena ist stattdessen vollständig um Dispatch Queues herum aufgebaut: Prozesse verwalten Dispatch Queues und Dispatch Queues erledigen ihre Arbeit mit der Hilfe von "virtual processors". Man kann sich einen virtual processor wie einen hochgradig dynamischen Thread vorstellen, der nicht an einen spezifischen Prozess gebunden ist. Virtual processors werden je nach Bedarf zwischen Dispatch Queues und Prozessen hin - und hergeschoben. Falls eine Dispatch Queue mehr Arbeit erledigen muss, bekommt sie einen zusätzlich virtual processor. Wenn sie allerdings weniger Arbeit verrichtet, dann gibt sie einen virtual processor ab, der dann von einer anderen Queue in einem anderen Prozess benutzt werden kann." (dr)

[Meldung: 10. Mär. 2024, 07:14] [Kommentare: 19 - 11. Mär. 2024, 22:42]
[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.
.