Arkane OS

Aufbau · Stand 24.10.2026

Ein kleiner Kern, und alles andere in abgeschotteten Cells.

Arkane fängt bei nichts an und fügt nur hinzu, was sich nachweisen lässt. Der Kern macht vier Dinge: Rechte prüfen, Speicher einblenden, Unterbrechungen verteilen, Nachrichten zustellen. Netzwerk, Ablage, KI-Modelle und Apps laufen in Cells, jede mit eigenem Adressraum. Welche Wege eine Cell hat, legt der Kern einmal beim Start fest, statt bei jedem Zugriff neu zu entscheiden.

  1. 1Exokernel
  2. 2Cells und Verträge
  3. 3Ablage
  4. 4Verwaltung
  5. 5Grenzen
Blockschaltbild: Nutzer, KI-Agent und Betreiber erreichen über das Netz die Zugangs-Cells; Zugangs-Cells und Anwendungs-Cells laufen in Ring 3 und reden nur über den Exokernel in Ring 0 miteinander, der Exokernel läuft auf virtueller Hardware. Ring 3 Vertrauensgrenze Ring 0 Nutzer KI-Agent Betreiber Apps ArkDB KI-Modelle Exokernel Virtuelle Hardware (KVM) gw-public gw-mcp gw-admin Anfragen MCP arkctl · Web Netz öffentlich Werkzeuge Verwaltung Anwendungs-Cells Nachrichten über den Kern mit Vertrag Datenbank ohne Netz Rechte prüfen · Speicher einblenden Unterbrechungen verteilen · Nachrichten zustellen CPU · RAM virtio-Platte virtio-Netz
Von oben nach unten: Anfragen aus dem Netz erreichen nur die Zugangs-Cells; alle Cells laufen in Ring 3 mit eigenem Adressraum und erreichen einander und die Hardware nur über den Exokernel in Ring 0, der jede Berechtigung prüft.

1Exokernel

Rund 13 000 Zeilen Rust, 26 Systemaufrufe, kein Treiber.

Ein Exokernel erledigt selbst nur das Nötigste und überlässt alles andere den Programmen darüber. Bei Arkane heisst das: Netzwerkkarten erreichen nur die Zugangs-Cells, über die das System mit der Aussenwelt spricht. Eine Cell, die ein KI-Modell rechnet, hat keine Berechtigung für das Netz, also richtet der Kern ihr nie einen Weg dorthin ein. Es gibt nichts zu sperren und nichts zu überwachen.

  1. Mensch oder KI

    arkctl (Befehlszeile, gegenseitig geprüfte Verbindung), Weboberfläche auf Port 9443, MCP-Werkzeuge

  2. verschlüsselte Verbindung · Rollen · Protokolleintrag vor jeder Änderung
  3. Zugangs-Cells

    gw-admin für Verwaltung, Weboberfläche und MCP-Verwaltung · gw-public für öffentliche Anfragen · gw-mcp für die Werkzeuge der Apps

  4. Nachrichten nur mit passender Berechtigung
  5. Anwendungs-Cells

    KI-Modell (auch in mehreren Kopien), ArkDB, Ablage, Schlüsselverwaltung ohne Netz, Werkzeug-Cells

  6. 26 Systemaufrufe, jeder prüft eine Berechtigung
  7. Exokernel

    Berechtigungen, Speicher, Unterbrechungen, Nachrichten, Zeiteinteilung auf vier Prozessorkernen, Nachladen bei Bedarf

  8. Virtuelle Hardware

    Netz und Platte über virtio, Unterbrechungen über MSI-X · Schutz vor fremden Gerätezugriffen (IOMMU) erst nach 1.0

  • Zeiteinteilung

    Der Kern unterbricht Cells nach festen Zeitscheiben. Jede Cell ist fest einem von vier Prozessorkernen zugeteilt, und ein Kern lässt sich einer Cell allein überlassen: im Vertrag verlangt, im Manifest gewährt, beim Start durchgesetzt. Wer auf eine Nachricht wartet und sie bekommt, läuft als Nächster.

  • Fehler bleiben in der Cell

    Löst eine Cell eine Prozessor-Ausnahme aus, beendet der Kern nur diese Cell. Übergibt sie dem Kern einen unzulässigen Wert, bekommt sie einen benannten Fehlercode zurück. Beides prüfen eigene Gates, unter TCG und unter KVM.

  • Selbstheilung

    gw-admin vergleicht laufend den gewünschten mit dem tatsächlichen Zustand und startet abgestürzte Cells, die über ein Manifest eingerichtet wurden, aus ihrem signierten Abbild neu, mit einer Obergrenze an Versuchen. gw-admin selbst, die Ablage und die Schlüsselverwaltung überwacht eine kleine Supervisor-Cell ohne Netz, die ihr signiertes Startrezept neu abspielt. gw-admin kann sich nicht selbst stoppen; das verweigert der Kern.

  • Gast unter KVM

    Arkane läuft als virtuelle Maschine: virtio statt tausender Treiber, Redundanz und Sicherungskopien kommen aus der Infrastruktur, die ein Betrieb ohnehin hat. Das ist eine bewusste Entscheidung bis 1.0; Betrieb direkt auf der Hardware kommt danach.

Einordnung. Die Zeilenzahl zählt den Code des Kerns ohne Leer- und Kommentarzeilen. Wo die Selbstheilung heute endet, steht unter Grenzen.

2Cells und Verträge

Zwei Schlüssel: der Entwickler legt die Form fest, der Betreiber die Werte.

Wer eine Cell entwickelt, signiert ihren Vertrag in das Programm: was sie braucht und was sie nie darf. Wer sie betreibt, liefert im Manifest die Werte, etwa wie viel Speicher und welches Modell. Der Kern setzt beides beim Start durch, und was nicht erlaubt ist, gibt es nicht.

Zugriff gibt es nur über Berechtigungen (Capabilities): Zeichen, die sich nicht fälschen lassen, die eine Cell weitergeben kann und die sich samt allen Weitergaben wieder entziehen lassen. Welche Berechtigungen eine Cell hat, zeigt die Weboberfläche in Klartext, etwa «kann andere Cells steuern» oder «spricht mit: keystore, acp-auth».

# Vertrag der Modell-Cell, im Programm signiert (ed25519)
#[arkane_contract(
    needs(memory = "16MB"),
    needs(share::read = "model"),
    forbid(net::inbound, net::outbound, spawn)
)]

# Manifest des Betreibers
arkane: v1
kind: Cell
metadata:
  name: inference
spec:
  image: prod.images.inference@blake3:9c41…   # signiert, Vertrag verbietet Netz
  ha: { replicas: 2 }                          # zwei Kopien, Neustart nacheinander
  shares:
    model: blake3:7c8a…                        # Gewichte, nur lesend eingeblendet
  capabilities: []                             # kein Weg zur Netzwerkkarte

replicas: N macht aus einer Cell eine Gruppe von Kopien. Die Zugangs-Cells verteilen Anfragen reihum, und arkctl cell rollout startet eine Kopie nach der anderen neu, jeweils erst, wenn die vorige bereit ist. 802 Anfragen, keine fehlgeschlagen.

3Ablage

Kein Dateisystem. Daten werden über ihren Inhalt gefunden.

Der Kern teilt genau eine Platte auf und sonst nichts. Format, Zwischenspeicher, Dauerhaftigkeit und Regeln liegen in Cells, die ihren Speicher selbst besitzen; es gibt keinen Zwischenspeicher im Kern, der dieselben Blöcke ein zweites Mal hält. Alles Dauerhafte wird über die Prüfsumme seines Inhalts angesprochen: Der Name eines Blocks ist sein blake3-Wert.

  • Blöcke und Änderungsprotokoll

    Die Ablage-Cell führt die Blöcke, nicht der Kern. Gleicher Inhalt liegt nur einmal auf der Platte; ein Modell lässt sich ohne Kopie nur lesend in mehrere Cells einblenden. Darüber liegt ein verkettetes Änderungsprotokoll: Änderung anwenden, neu starten, Zustand ist erhalten. Das prüft ein Gate seit Version 0.14.

  • Nachladen bei Bedarf

    Ein Modell bleibt auf der Platte, bis eine Cell es berührt. Dann liest der Kern ein Stück von 2 MiB, prüft es gegen seine Prüfsumme und blendet es nur lesend ein. Jede Cell hat ein Speicherbudget; ist es voll, gehen die ältesten Stücke zuerst, unter Druck auch vorausschauend. Das Ablageformat beschreibt Blöcke als zusammenhängende Bereiche mit 48-Bit-Längen. 6 GiB mit 4 GiB Arbeitsspeicher.

  • Verschlüsselt auf der Platte

    Ausgewählte Ablagen werden auf dem Weg zur Platte verschlüsselt (XChaCha20-Poly1305). Jeder Bereich hat seinen eigenen Schlüssel, und diese Schlüssel sind mit einem Hauptschlüssel umhüllt, der nur im Arbeitsspeicher der Schlüsselverwaltung liegt, einer Cell ohne Netz. Manifeste nennen Geheimnisse nur beim Namen; weder Betreiber noch App sehen den Schlüssel. Kein Klartext auf der Platte.

  • ArkDB

    Die Datenbank ist eine gewöhnliche Cell, mit dem Bausatz für Apps gebaut. Jeder Abschluss ist im Standard gesichert, das heisst heute: der Einstiegspunkt der Daten ist auf der Platte, bevor die Antwort hinausgeht. Messungen gegen SQLite.

4Verwaltung

Eine Verwaltung, zwei Arten von Nutzern: Mensch und KI.

gw-admin ist kein Dienst im Kern, sondern eine Cell wie jede andere, mit einer Verwaltungsberechtigung und sonst nichts. Sie liefert die Weboberfläche und den MCP-Zugang auf Port 9443, spricht dieselben Befehle wie arkctl, ohne eine besondere Hintertür, und schreibt jede Änderung zuerst in die Protokollkette.

  • Weboberfläche

    Anmeldung über eine verschlüsselte Verbindung. Das Passwort prüft eine eigene Cell ohne Netz mit Argon2id, einem absichtlich langsamen Verfahren gegen Durchprobieren. Die Sitzung hängt an einem Cookie, das Skripte nicht lesen können, und an einer von drei Rollen: viewer, operator, admin. Jede Änderung durchläuft Schutz gegen untergeschobene Anfragen, Rollenprüfung, Protokolleintrag, erst dann die Wirkung. Wird ein Nutzer gelöscht oder ändert sich seine Rolle oder sein Passwort, enden seine Sitzungen sofort. Nach fünf Fehlversuchen für einen Namen ist dieser Name gesperrt, mit wachsender Wartezeit bis 15 Minuten; daneben gibt es eine Grenze je Absender und eine Notbremse für alle.

  • Verwaltung über MCP

    13 Werkzeuge: Cells auflisten, Protokolle lesen, Berechtigungen zeigen, Änderungen planen und anwenden (mit Abbruch, wenn sich der Zustand inzwischen geändert hat), stoppen, starten, neu starten, nacheinander neu starten. Es gelten dieselben Rollen und Schutzregeln wie in der Weboberfläche; wer nur lesen darf, bekommt 7 Werkzeuge. Ein Schalter in der Weboberfläche schaltet den Zugang ab und übersteht Neustarts. Vier Gates.

  • Protokollkette

    Jedes Ereignis wird ein Block in einer blake3-Kette, auf die Platte gespiegelt und an die Kennung der handelnden Person gebunden. arkctl audit verify --store store.img prüft offline; ein verändertes Byte meldet es mit der Nummer des Blocks. Auch der Stand der Agenten-Datenbank steht in der Kette: wer was getan hat, auf welchem Datenstand. Das ist ein Baustein für die Protokollpflicht im EU-Gesetz über künstliche Intelligenz (Art. 12), nicht die ganze Erfüllung.

5Grenzen

Was heute nicht da ist, und was nur zum Teil.

Diese Liste ist Teil des Nachweises. Was hier steht, behauptet die Seite an keiner anderen Stelle.

  • fehlt

    Betrieb direkt auf der Hardware: Treiber für echte Platten, IOMMU, TPM. Bis dahin virtuelle Maschine und virtio. Nach 1.0, kein Versprechen.

  • fehlt

    Mehrere Rechner. Ausfallsicherheit heisst heute: Kopien eines Dienstes auf demselben Rechner. Verteilung ist die schwierigste offene Aufgabe.

  • fehlt

    Grafikprozessoren. KI-Modelle rechnen nur auf dem Prozessor in ihrer Cell.

  • fehlt

    Neustart der Zugangs-Cells gw-public und gw-mcp. Stürzt eine von beiden ab, bleibt ihr Port bis zum nächsten Neustart des Systems weg. Die Supervisor-Cell überwacht nur gw-admin, die Ablage und die Schlüsselverwaltung.

  • in Arbeit

    Fehler beim Schreiben auf die Platte werden nicht zuverlässig gemeldet: Scheitert das Sichern des Einstiegspunkts, antwortet der Kern heute trotzdem mit Erfolg, und eine Ablage, deren Format der Kern nicht erkennt, wird neu formatiert statt verweigert. Die Korrektur ist geplant und vor Version 0.28 Pflicht; bis dahin gilt «gesichert» nur, wenn die Platte nicht versagt.

  • in Arbeit

    Cells auf mehreren Prozessorkernen: Wird eine Cell beendet oder verändert, während sie gerade auf einem anderen Kern läuft, sind einige Abläufe noch nicht gegeneinander abgesichert. Die Korrektur ist in Arbeit, der Nachweis unter KVM steht aus.

  • in Arbeit

    Die Verwaltung bedient eine Verbindung nach der anderen. Eine sehr langsame Gegenstelle kann Weboberfläche, arkctl, MCP und den Neustart abgestürzter Cells jeweils bis zu 10 Sekunden aufhalten, bei wiederholten Versuchen auch länger.

  • begrenzt

    Sitzungen: Ein MCP-Token, das vor dem Abschalten des MCP-Zugangs ausgestellt wurde, gilt nach dem Wiedereinschalten weiter. Die Sperre nach Fehlversuchen trennt Absender nachweislich nur in Komponententests; ein Angreifer kann einen bekannten Namen gezielt bis zu 15 Minuten sperren.

  • begrenzt

    Warum eine Cell beendet wurde, steht nur im Systemprotokoll, nicht in der Weboberfläche. Ob die Obergrenze für Neustarts bei einer Cell greift, die sofort wieder abstürzt, prüft bisher kein Gate.

  • begrenzt

    ArkDB «gesichert» heisst: Der Einstiegspunkt ist bei jedem Abschluss auf der Platte, die Inhalte folgen danach. Inhalte vor der Antwort vollständig sichern ist geplant, nicht gebaut.

  • begrenzt

    Auslagern: die ältesten Stücke zuerst, unter Druck vorausschauend. Jedes Zeichen der Protokollausgabe kostet noch einen Wechsel in den Emulator; ein Kanal ohne diesen Umweg ist geplant, nicht gebaut.

  • begrenzt

    Verschlüsselt sind ausgewählte Ablagen, nicht jedes Byte; die Protokollkette ist absichtlich Klartext. Ankerpunkte ausserhalb des Systems für die Kette sind geplant.

  • geplant

    Eine Liste erlaubter Ziele für ausgehende Verbindungen und Regeln, wie lange Protokolle aufbewahrt werden. Beides offen, nicht gebaut.