Zum Inhalt springen
AetherOS und die zehn Apps werden noch gebaut. Zu haben sind bisher nur Schriften, Emojis und Farben – Apps geplant für Sommer 2027. Was noch kommt
AetherOS

Ein PC im PC

Unter der Oberfläche von AetherOS läuft ein nachgebauter x86-Rechner in JavaScript. Er startet das Abbild des eigenen Kernels. Manche Teile sind gründlich gebaut, andere nur angelegt – das steht hier bei jeder Gruppe. Gebraucht wird er, weil der eigene Kernel ein Programm für einen alten 16-Bit-PC ist: Statt eines zweiten Rechners läuft dieser PC als Programm mit im Simulator.

Nachgezählt am 16. September 2026. Was die einzelnen Teile können sollen, steht in den Köpfen ihrer Dateien. Wie weit ein Teil wirklich reicht, wurde im Quelltext nachgesehen. Am 27. September noch einmal gezählt: Dateien und Zeilen sind unverändert, keine Emulator-Datei ist seit dem 16. September geändert worden.

Auf einen Blick

60

Dateien

9.588

Zeilen JavaScript

1 MB + 64 KB

Arbeitsspeicher der nachgebauten Maschine

300.000

Befehle je Bild als Vorgabe – wenn er voll rechnen darf

12

BIOS- und DOS-Interrupts, die er beantwortet

Im Ordner des Systems beginnen 66 Dateien mit „emulator“, zusammen 10.561 Zeilen. Sechs davon mit 973 Zeilen emulieren aber nichts: Sie sind das Symbol-System des Schreibtischs. Übrig bleiben 60 Dateien mit 9.588 Zeilen. Wie bei allen Teilen der Oberfläche hat keine davon mehr als 300 Zeilen; ein Befehlssatz wie der des x86 verteilt sich deshalb auf 26 Dateien statt auf eine große.

Der Aufbau nach Gruppen

GruppeDateienZeilenWas darin steckt
Rechenkern7985Speicher und 16-Bit-Register, Befehlsdekoder, Hauptschleife, ModRM-Auswertung, A20-Gatter, Start und Zurücksetzen
Befehle264.647Rechnen, Verschieben, Springen, Stapel, Zeichenketten, Multiplizieren und Teilen; dazu x87, SSE, AVX, Protected Mode, Paging, Long Mode, VT-x und Netzwerkkarten – und das eingebettete Abbild des Kernels
Anschlüsse101.381Zentraler Portverteiler, zwei Interrupt-Controller (8259), Zeitgeber mit PC-Lautsprecher, CMOS-Uhr, DMA, Diskettenlaufwerk, Tastatur-Controller, serielle und parallele Schnittstelle, VGA-Register
Eingabe und Ton3450Tastatur, PS/2-Maus, PC-Lautsprecher
BIOS61.022Bildschirm, Laufwerke, Systemdienste mit E820-Speicherkarte, Interrupt-Verteiler, Textbildschirm im Fenster
Start, Speichern, Bedienung6685Startbild und Sperrbildschirm-Uhr, Anzeige der Register, Speichern des Dateisystems, Abbilder per Ziehen laden
Werkzeuge2418Debugger mit Haltepunkt und Speicherauszug, Disassembler
Zusammen609.588

Ehrlich nach Tiefe

Läuft: der 16-Bit-Kern

1 MB Speicher plus 64 KB darüber, 16-Bit-Register, acht Flaggen und ein A20-Gatter. Mit diesen Grundbefehlen rechnet der eigene Kernel, denn der ist als 16-Bit-Programm übersetzt. Unter System › Rechenwerk lässt sich jeder Wert ablesen. Das A20-Gatter ist ein Überbleibsel alter PCs: Erst wenn es offen ist, reicht der Speicher über das erste Megabyte hinaus – daher die 64 KB „darüber“.

Läuft: Bildschirm, Tastatur, Ton

Der Textbildschirm mit 2.000 Zeichenzellen und 16 Farben wird ins Fenster gezeichnet. Tastendrücke kommen als Scancodes an. Der PC-Lautsprecher klingt wirklich, über die Tonausgabe des Browsers. 2.000 Zellen sind genau 80 × 25 Zeichen – das Format, in dem der eigene Kernel seine Eingabezeile und die Leiste mit „[ START ]“ zeichnet.

Läuft: das BIOS

Es beantwortet zwölf Interrupts, darunter Bildschirm, Laufwerke, Tastatur, Zeitgeber und die E820-Speicherkarte. Dazu kommen zehn DOS-Dienste. Echt sind die für Zeichen und Text. Die Dateidienste sind nur gespielt: Anlegen und Öffnen geben immer dieselbe Kennung zurück, Lesen liefert Nullen, und die Dateisuche meldet immer „keine Dateien“. Für den eigenen Kernel ist das kein Hindernis, er bringt sein eigenes Dateisystem mit. Ein DOS-Programm, das Dateien lesen will, bekäme dagegen nur Nullen.

Angelegt: die großen Erweiterungen

x87-Gleitkomma (acht Register), MMX und SSE, AVX bis AVX-512, Protected Mode, Paging mit TLB und Long Mode mit 64-Bit-Registern. Register und Befehle sind da. Ob ein Programm sie wirklich nutzt, ist nicht belegt – der eigene Kernel ist ein 16-Bit-Programm. Zusammen mit Virtualisierung und Netzwerk belegen sie 14 der 26 Befehlsdateien, nachgezählt am 27. September 2026. Sie warten auf einen Kernel, der über den Real Mode hinausgeht; bis dahin heißt angelegt nicht erprobt.

Nur angedeutet: Virtualisierung

Für VT-x, SVM und SMM gibt es einen Zustand und Befehle. VMXON setzt nur einen Schalter und schreibt eine Meldung in die Entwicklerkonsole. Weiter reicht ein Gastbetrieb: VMLAUNCH schaltet hinein, und bei HLT, CPUID, LGDT und Zugriffen auf Steuerregister kehrt die Maschine zurück. Ein Programm, das das nutzt, gibt es nicht. Im Kernel steht ein Hypervisor nur als vorgemerkter Name, ohne Datei – bei den 82 Namen.

Nur angedeutet: Netzwerk

Drei Netzwerkkarten sind angelegt: RTL8139, e1000 und VirtIO-Net. Beim Senden werden die ersten 32 Bytes in die Entwicklerkonsole geschrieben. Empfangen wird nur ein vorgetäuschtes ARP-Paket. Ins echte Netz geht nichts. Das ist auch eine Sicherheitsfrage: Ein nachgebauter Rechner, der nichts nach außen schickt, kann dort auch nichts anrichten.

Vom Abbild zum Textbildschirm

  1. Übersetzen. Ein Bauskript übersetzt den Kernel in ein Abbild von genau 65.536 Bytes und schreibt es in den Emulator. Dasselbe Abbild steckt dort Byte für Byte. Was im Emulator läuft, ist also genau der Kernel aus dem Quelltext, nicht eine Nachbildung davon.
  2. Laden. Die ersten 512 Bytes – der Bootsektor – kommen an die Adresse 0x7C00 und zusätzlich an 0x0600, wo der Startlader nach seiner eigenen Verschiebung weiterläuft. Der Rest liegt ab 0x2000. Das ganze Abbild steckt außerdem im nachgebauten Diskettenlaufwerk. So findet der Startlader den Rest des Kernels dort, wo ein echter PC ihn suchen würde.
  3. Leeren. Der Textbildschirm wird gelöscht, das gespeicherte Dateisystem geladen. Gespeichert wird nur der Bereich 56000 bis 60352 – die Speicherkarte des Kernels zeigt, was das für AetherFS bedeutet.
  4. Rechnen. Die Hauptschleife läuft mit dem eingestellten Takt, je Bild bis zu 300.000 Befehle als Vorgabe. Ein „Bild“ ist ein Durchgang der Bildschirmaktualisierung des Browsers; der Emulator rechnet also stückweise zwischen zwei Bildern.

Meistens null Befehle

Sieht niemand hin, wird nichts gerechnet. Der Zustand der Maschine bleibt erhalten, nur die Arbeit ruht. Das Rechenwerk schreibt mit, welcher Grund gerade gilt. Sonst sähe die Null aus wie ein Defekt. Der Grund steht nachgemessen im Quelltext: Im Leerlauf, ohne ein einziges offenes Fenster, lief der Emulator früher weiter – ein einzelner Rechenschritt, die Adressumrechnung, stand dabei für 17 Prozent der gesamten Rechenzeit.

Eigene Abbilder

Wer eine Abbild-Datei auf den Bildschirm zieht, lädt sie in den Emulator und startet ihn damit neu. Erprobt ist dafür aber nur der 16-Bit-Kern mit den zwölf Interrupts des BIOS. Ob ein fremdes Abbild mit den nur angelegten Erweiterungen zurechtkommt, ist nicht belegt.

Im Live-System aus

Startet AetherOS vom USB-Stick als Live-System, bleibt der Emulator abgeschaltet – laut Quelltext wegen Leistung und Stabilität. Im Simulator unter Windows und im installierten System gilt diese Sperre nicht. Wie AetherOS erkennt, dass es vom Stick läuft, steht bei Aufbau und Technik.

Sechs Gründe für den Takt

Vor jedem Bild entscheidet der Emulator, wie viel er rechnen darf, und schreibt den Grund dazu. Unter System › Rechenwerk steht er dann offen da. Die Gründe werden der Reihe nach geprüft, und der erste, der zutrifft, gilt: Ruht das System, zählt der Energiesparmodus gar nicht mehr. Wo Leistungsmodus und Rechenwerk in den Einstellungen liegen, zeigt die Seite zu den Einstellungen.

GrundwannBefehle je Bild
vollder Emulator wird gebraucht, und nichts bremstder eingestellte Takt – 1.000.000, 300.000 oder 50.000 je nach Leistungsmodus
ruhtdas System schläft, das Fenster ist verborgen oder hat den Blick verloren0
unbeachtetkein Fenster und kein Bildschirm des Emulators ist offen0
sparender Energiesparmodus ist anhöchstens 50.000
gedrosseltdie selbsttätige Drosselung greiftdie Hälfte, mindestens 50.000
leerlaufseit dem letzten Anstoß ist nichts loshöchstens 50.000

Zehn Millisekunden

Mehr Rechenzeit bekommt ein Bild nicht. Alle 1.000 Befehle sieht der Emulator auf die Uhr. Früher endet ein Bild nur aus vier Gründen: Haltepunkt, Anhalten, hlt oder eben die Zeitgrenze. Der Emulator rechnet im selben Ablauf wie die Oberfläche. Ohne Grenze müssten Mauszeiger und Fenster warten, bis er fertig ist.

Gefunden, weil es angezeigt wird

Am 6. September 2026 zeigte die neue Seite Rechenwerk: Der Prozessor lief mit null Befehlen, und niemand hatte es bemerkt. Eine zweite Datei hatte den Takt wieder auf null gesetzt. Seitdem steht neben jeder Zahl ihr Grund – eine Null, die sich erklärt, und eine, die ein Fehler ist, sehen sonst gleich aus.

Die zwölf Interrupts des BIOS

Ein Programm ruft das BIOS über eine Nummer. Das BIOS ist die kleine Grundausstattung, die ein PC vor jedem Betriebssystem mitbringt: Zeichen ausgeben, Tasten lesen, Sektoren von der Platte holen. Der Startlader des eigenen Kernels holt sich darüber den Rest des Abbilds von der Platte. Diese zwölf Nummern beantwortet der Emulator:

NummerAufgabe
0x08Zeitgeber
0x09Tastatur
0x10Bildschirm
0x11Ausstattung des Rechners
0x12Speichergröße
0x13Laufwerke
0x15Systemdienste, darunter die E820-Speicherkarte
0x16Tastatur-BIOS
0x19Warmstart
0x1AUhr des BIOS
0x21DOS-Dienste
0x33Maus

Ab Werk lässt der Interrupt-Controller nur Zeitgeber und Tastatur durch; das A20-Gatter ist an. Das sind die beiden Geräte, für die der eigene Kernel Treiber mitbringt: Uhr und Tastatur.

Werkzeuge zum Hineinsehen

Der Debugger

Ein Haltepunkt hält die Maschine an einer Adresse an und schaltet den Lautsprecher stumm. Der Speicherauszug beginnt bei 0x7C00. F5, F6 und F7 halten an, führen einen Befehl aus und setzen zurück. 0x7C00 ist die Stelle, an die jeder PC den Startsektor lädt – dort beginnt also das, was der Kernel als Erstes tut.

Der Disassembler

Er übersetzt einzelne x86-Befehle im Real Mode zurück in lesbare Kürzel. So lässt sich nachsehen, welche Maschinenbefehle der Compiler der Sprache .ae erzeugt hat, ohne die Bytes von Hand zu entschlüsseln.

System › Rechenwerk

Dieselben drei Knöpfe in den Einstellungen: anhalten, ein Befehl, zurücksetzen. „Zurücksetzen“ lädt das Abbild neu, der Speicher der Maschine ist danach leer. Dort steht auch der Grund für den Takt aus der Tabelle oben.

Das Programm „Simulator“ in der Liste der eingebauten Apps ist nicht dieser Emulator. Es öffnet andere Apps anhand ihres Namens. Die Namen ähneln sich, die Aufgaben nicht – wer den nachgebauten PC sucht, findet ihn unter System › Rechenwerk.

Weiter

Version 9.0.0

Die Webseite wiegt die Hälfte, das Menü auf dem Telefon ist eine Liste geworden, das Glas ist überall dasselbe — und ein Kasten auf der Startseite sagt, warum hier eine Weile nichts passiert.