Lyx OS
Lyx OS ist ein bare-metal x86-64-Betriebssystem, das vollständig in der Lyx-Sprache und NASM-Assembly geschrieben ist. Es startet direkt über UEFI — ohne Linux, ohne GRUB, ohne externe Laufzeitumgebungen.
Der Compiler lyxc ist ein Kernbestandteil des Systems: er läuft auf dem Host für den Kernel-Build und wird langfristig als Compiler-as-a-Service im Kernel selbst betrieben.
→ Erste Schritte · Architektur · Prozesse & Ring-3 · Shell · Disk-Befehle · Vega · Sync · SMP & Tasks · Syscall-ABI · LBF-Format · IOFS · XHCI-Treiber · RAM-Disk · Lyx-Sprache
Was ist Lyx OS?
Lyx OS ist kein weiterer Linux-Klon. Die zentralen Designentscheidungen unterscheiden es grundlegend von bestehenden Systemen:
Kein fork(), kein errno, kein Root
Drei Paradigmen, die sich in allen gängigen Betriebssystemen über Jahrzehnte als Fehlerquellen erwiesen haben, existieren in Lyx OS nicht:
- Kein
fork()— Prozesse werden ausschließlich viasys_spawn()(analog zuCreateProcessauf Windows) erzeugt. Kein implizites Address-Space-Kopieren. - Kein globales errno — Syscalls geben zwei Register zurück:
rax= Fehlercode,rdx= Nutzwert. Kein Vorzeichentest auf einem einzigen Register, kein Thread-lokaler State. - Kein Root — Berechtigungen werden über Capabilities verwaltet: File-Deskriptoren kodieren gleichzeitig die Ressource und die erlaubten Operationen. Privilege-Escalation durch fd-Weitergabe ist strukturell unmöglich.
KI als privilegierter Dienst (Lyra-Domäne)
KI-Inferenz ist kein HTTP-API-Daemon — aber auch kein Ring-0-Kernel-Modul. Lyra läuft als privilegierter Ring-3-Prozess mit eigenem Adressraum (eigene CR3). Es gibt kein kernel/ai.lyx im Kernel-Space. Der deterministische TCB (Ring-0) ruft das LLM nie auf.
Das LLM-Modell liegt in Lyras Shared Memory; alle User-Prozesse, die KI-Inferenz benötigen, routen ihre Anfrage über das Capability Routing Gate des TCB an Lyras Mailbox. Lyra erteilt daraufhin einen Capability-Token — Folgezugriffe prüft der TCB direkt, ohne erneutes Routing (OAuth-Modell). Der Syscall sys_ai_infer (Gruppe 0x0800) sieht aus dem Userspace wie ein normaler Syscall aus, trifft aber zuerst den deterministischen TCB, der ihn erst dann an Lyra weiterleitet.
Automatische Parallelität
Der Programmierer denkt in Tasks, nicht in Cores. sys_task_spawn erzeugt leichtgewichtige Arbeitseinheiten; ein Work-Stealing-Scheduler verteilt sie auf alle verfügbaren Cores ohne Programmiereingriff. lyxc mit @parallel-Annotation generiert die sys_task_spawn-Calls automatisch aus Loop-Iterationen.
Lyra
Die langfristige Vision: Lyra ist die OS-Besitzerin. Menschen sind privilegierte Gäste, nicht Administratoren. Das Interface ist semantisch (Sprache, Blickkontakt) — kein Desktop, keine Shell als primärer Interaktionspunkt. Lyra denkt aktiv in CPU-Idle-Zyklen weiter (Dreaming AI, WP18).
Die Drei-Domänen-Architektur trennt konsequent Mechanismus und Intelligenz:
- TCB (Ring-0-Kernel) — deterministisch, WCET-beschränkt, erzwingt Regeln. Ruft das LLM nie.
- Lyra (Ring-3, privilegiert) — hält LLM +
lyxc, schlägt vor und orchestriert, erteilt Capabilities. Erzwingt nie. - User (Ring-3, minimal) — Anwendungen mit eingeschränkten Capabilities via
SysPledge.
Der Mensch behält die durch Mechanismus garantierte letzte Autorität — Recovery und Maintenance-Shell (WP15) funktionieren vollständig ohne Lyra.
Aktueller Stand
| Meilenstein | Inhalt | Status |
|---|---|---|
| M1 — Boot & Bare-Metal | UEFI-Bootloader, ELF-Loader, Kernel-Einstieg | ✅ Abgeschlossen |
| M2 — Kernel-Kern | PMM, VMM, IDT/Exceptions, SMP | ✅ Abgeschlossen |
| M3 — Runtime & Scheduler | Laufzeit-Primitiven, Mutex/Semaphor, Prozessmodell | ✅ Abgeschlossen |
| M4 — I/O | ATA, FAT32 (inkl. LFN-Write), VFS, Keyboard | ✅ Abgeschlossen |
| M5 — Ring-3 & Shell | Ring-3 Userspace, ELF-Loader, Shell, Capabilities, POSIX-Bridge, Vega-GUI, IOFS, RAM-Disk | ✅ Abgeschlossen |
| M6 — Netzwerk | TCP-Stack WP16-TCP ✅ (E1000, DHCP, ARP, TCP) | POSIX-Socket-API offen |
| M7 — Lyra-Agent | Lyra-Domäne (Ring-3 privilegierter LLM-Dienst), Capability Routing Gate | Offen |
| M8–M10 | Semantic OS Layer, Aerospace Safety, Distribution | Offen |
Was heute funktioniert:
- UEFI-Boot und Kernel-Start auf QEMU (
qemu-system-x86_64+ OVMF) - Physische und virtuelle Speicherverwaltung (4 GB Identity-Map, 2 MB Huge Pages)
- Interrupt-Handling und CPU-Exception-Routing
- Symmetric Multiprocessing (LAPIC, AP-Startup, SMP-Task-API)
- ATA-Disk-I/O (Multi-Disk, 4 Kanäle), vollständige FAT32-Implementierung inkl. LFN-Schreiben
- Virtuelles Filesystem (VFS): open/read/write/stat/seek/mkdir/readdir/rename/unlink/dup
- Multi-Volume-Unterstützung: FAT32-Partitionen und Initrd-Ramdisk gleichzeitig mounten
- Interaktive Ring-3-Shell mit Built-in-Befehlen (
ls,cd,cat,pwd,echo,clear,help,exit) - Lokalisierung: 5 Locales (EN-US, DE-DE, FR-FR, EN-GB, ES-ES), Zahlen-/Zeit-/Datumsformate, Tastaturbelegungen
- Prozess-Isolation: per-Prozess CR3, Capability-Bitmask (
PLEDGE_*), Capability Routing Gate - ELF64-Loader (
SysSpawn): lädt Ring-3-Binaries aus dem VFS in den Userspace - Vega-Compositor + Fensterverwaltung (WP17b): GOP-Framebuffer, 32 Fenster, Drag, PS/2-Maus, Tastatur, Ereignis-Ring (Syscalls 110–131, 148–152)
- IOFS — Island & Ocean File System (WP01–WP07+GC): Block-Allocator, Mount/Read/Write, WAL, Graph-Kanten, Traversal, Named Nodes, GC (Syscalls 155–179)
- TCP/IP-Stack (WP16-TCP): E1000-Treiber, DHCP, ARP, TCP Connect/Send/Recv/Close, 8 gleichzeitige Verbindungen (Syscalls 180–184)
- RAM-Disk (WP30): bis zu 4 × 256 MB (Disk-IDs 4–7, Syscalls 153–154)
- XHCI-Treiber (WP25): USB 3.x-Host-Controller, Enumerierung + Datentransfer
- lyxc 1.0.0A: erzeugt native LYX!-Binaries (
–target=lyxos); POSIX-Bridge (WP15a) für ELF-Programme auf LyxOS
Navigation
| Thema | Seite |
|---|---|
| LyxOS starten (QEMU-Setup, erster Boot) | Erste Schritte |
| System-Architektur & Kernel-Aufbau | Architektur |
| Ring-3-Prozesse, ELF-Loader, Capabilities | Prozesse & Ring-3 |
| Interaktive Shell — Befehle, Protokoll | Shell |
| Synchronisierung — Spinlock, Mutex, Semaphor | Sync-Primitive |
| Symmetric Multiprocessing — LAPIC, Task-API | SMP & Tasks |
| Eigene Anwendungen für LyxOS schreiben | Anwendungen entwickeln |
| Syscall-ABI v1.0 — alle Gruppen & Signaturen | Syscall-Referenz |
| Kernel-Interna für Beitragende | Kernel-Interna |
| LBF — natives Binärformat (Genesis-Block, Zero-Load, TLV) | Lyx Binary Format |
| IOFS — Island & Ocean File System (Graphpages, Zero-Load, Sandbox) | IOFS |
| Vega — Compositor + Fensterverwaltung (WP17b) | Vega |
| XHCI — USB 3.x-Treiber (WP25) | XHCI-Treiber |
| RAM-Disk — Disk-IDs 4–7, bis zu 4 × 256 MB (WP30) | RAM-Disk |
| TCP/IP-Stack — E1000, DHCP, ARP, TCP (Syscalls 180–184, WP16-TCP) | Syscall-Referenz → §TCP |
Letzte Aktualisierung: 2026-06-25
