Tumble Forth: Vom Assembler zum OS mit C-Compiler

Tumble Forth – from assembly to OS with C compiler

Virgil Dupras, Autor von Collapse OS und Dusk OS, startet eine Artikelserie, die Webentwickler Schritt für Schritt in die Welt der Low-Level-Programmierung führt. In der ersten Story-Arc baut er von Grund auf einen Forth-Interpreter, dann ein eigenes Betriebssystem (Dusk OS) und schließlich einen C-Compiler, der gerade genug kann, um den Beispielcode zu übersetzen. Ziel ist es, die Perspektive auf Computing zu erweitern – mit einem Hauch von schrägem Humor.

Wir blicken mit Abscheu in den Abgrund der modernen Software-Komplexität und entkommen dieser Dystopie, indem wir in den Kaninchenbau der Low-Level-Entwicklung hinabsteigen.
  1. fjfaase

    Für den C-Compiler, den ich entwickelt habe, um den GNU-Mes-Compiler im live-bootstrap-Projekt zu ersetzen, habe ich ebenfalls eine Forth-ähnliche Sprache verwendet, die zwei Stapel nutzt. Ein Stapel für Parameter und Rückgabewerte und einer für die Rücksprungadressen und lokalen Variablen. Die Forth-ähnliche Sprache wird in Assembler transpiliert und durch einige Schritte in eine ELF-Datei umgewandelt. Die Zielarchitekturen sind: x86, x86_64 und arm64. Die Arbeit zur Unterstützung von riscv64 hat begonnen, ist aber derzeit aufgrund anderer Verpflichtungen pausiert. Falls jemand bereit ist, sie abzuschließen, habe ich etwas Geld als Bonus.

  2. zovirl

    > Ein alternativer Weg, das zu umgehen, ist, diese Komplexität komplett zu umgehen und ein eigenes Betriebssystem zu bauen.

    > Wir gehen auf die nackte Hardware und bauen dann ein eigenes Betriebssystem, mit einem eigenen C-Compiler. So ist es einfacher.

    Ich liebe die Kühnheit dieser Aussagen. Und ich schätze diese Herangehensweise, die sagt: "Lass uns die einfachste mögliche Version von _______ implementieren, um zu lernen, wie es gemacht wird."

  3. drivers99

    Oh ja, das ist genau mein Ding. Ich denke schon eine Weile darüber nach, ein Forth auf nackter Hardware zu entwickeln (letzten Sommer habe ich einen Forth-Interpreter in C geschrieben und ein bisschen Stapeloperationen in handassemblierter Maschinensprache auf einem C64U getestet), und der Gedanke, den ich (zufällig) kurz bevor ich diesen Link sah, hatte, war, einen Bootsektor auf ein paar Disketten zu schreiben, die ich gerade für meinen 8088 IBM PC bekommen habe. Ich weiß, dass das nur im Real Mode funktionieren wird, aber es könnte trotzdem Spaß machen, dort anzufangen. Edit: Ich kannte CollapseOS, aber mir war nicht bewusst, dass es das auch schon so lange gibt.

Mehr von diesem Tag

2026-08-21