Pläne für TriOS
Irgendwann nach dem KC-Treffen möchte ich beginnen, dass bestehende Betriebssystem neu zu überarbeiten und eine erste Version des TriOS zusammenzustellen. Im folgenden meine groben Vorstellungen. Wie weit ich dabei komme und was letztlich dabei herauskommt, muß ich mal schauen. Ich wollte mal die grobe Struktur zur Diskussion stellen, velleicht gibt es ja noch interessante Ideen dazu. Wer Lust hat kann natürlich mitarbeiten, dann geht das Ganze schneller. Und frühzeitige Mitarbeit sichert auch die Möglichkeit der Einflußnahme, denn spätere Programme werden wohl auf dieser Version aufbauen.
Ich hab mal ein Schichtenmodell angehängt, welches die Struktur darstellt. Wichtig erscheint mir dabei ein möglichst einfacher und übersichtlicher Aufbau. Was bedeutet das:
- Möglichst viel kompakter und gut lesbarer SPIN-Code.
- Das IOS bleibt nach wie vor nicht reentrant – das ist mir momentan noch etwas zu hoch und würde das IOS auch mächtig aufblähen scheint mir. Das bedeutet: Zugriffe auf die Systemroutinen (Datei, Bus, eRAM usw.) sollten nur zentral durch einen Prozess erfolgen.
Neben diesen Punkten erscheinen mir die Einbindung von Funktionen um mit Verzeichnissen umzugehen, die Möglichkeit Administra zur Laufzeit mit einem neuen Code zu booten und eine klare Struktur des IOS als einzige zentrale Schnittstelle zur Anwendersoftware am wichtigsten. Mit der Fähigkeit Administra zur Laufzeit anzupassen wird der Hive erst wirklich sein flexibles Potential entwickeln, denn eines ist bisher klar geworden: Alle Möglichkeiten und Potentiale kann man nicht in einem einzigen Administra-Bios unterbringen. So kann man dann zum Beispiel problemlos ein LAN-Bios starten, um mit dem Netzwerk zu experimentieren, oder vielleicht sogar einen kompletten Webservercode in Administra unterbringen – natürlich auf Kosten anderer Funktionen, welche man in dieser Betriebsart nicht benötigt.
- Bootmechanismus für Administra
- Einbindung eines RTC-Chips
- Verzeichnisse
- Funktionen um Datei-Zusatzinformationen (Datum, Attribute) zu verwalten
- Funktionen für eine zentral nutzbare serielle Schnittstelle
- I2C-Funktionen für einen externen Bus
- Überarbeitung der Soundroutinen (Wave!)
- LAN-BIOS per Administra-Bootmechanismus
- Erweiterter Standardtreiber mit Funktionen für eine einfache Benutzeroberfläche
- Oberfläche vielleicht im LCARS-Design?
- Loader: Funktionen für die Initialisierung mehrer residenter Prozesse
- Funktionen für eine Speicherverwaltung des eRAM
- Extender für ausführbare Dateien (*.adm, *.reg/bin, *.bel)
- History
- Kommando „aload“ um das BIOS von Administra zu laden
- Einfacher Texteditor
- Einfacher Dateimanager
- SPIN-Compiler (Sphinx)
- Dokumentation der IOS-Funktionen
- Überarbeitung des Bootvorgangs vom Gesamtgerät
- Verwaltung der gesamten Quellen per SVN
Diskussion im Forum zum Thema: TriOS >>>