Jeder wählt das ideale Betriebssystem nach seinem Geschmack und seinen Vorlieben aus. Für die einen ist es Windows, für die anderen macOS, manche verwenden eine geeignete Linux-Distribution und sind mit deren Fähigkeiten recht zufrieden. In den späten 90er Jahren war die Auswahl an verfügbaren Betriebssystemen, insbesondere für die x86-Plattform, jedoch nicht sehr groß. Deshalb hatte das um die Jahrtausendwende erschienene Betriebssystem, das vom österreichischen Programmierer Robert Scheleni mit der Unterstützung einer Gruppe von drei Enthusiasten entwickelt wurde, alle Chancen, komfortabler und zuverlässiger als Windows zu werden, indem es die besten Funktionen anderer Desktop-Systeme jener Zeit vereinte.
Beginn des Projekts
1996 beschloss Robert Sheleney, einen eigenen Bootmanager für seinen 486er Heimcomputer zu entwickeln. Dieser Manager sollte es ihm ermöglichen, ein Betriebssystem auszuwählen, das später nach dem Einschalten des Rechners gestartet werden sollte. Später erinnerte er sich, dass er diese Anwendung buchstäblich an einem Tag in Assembler geschrieben hatte. Scheleni beschloss jedoch, es dabei nicht bewenden zu lassen und fügte dem Programm immer mehr Funktionen hinzu, bis es zu einem Prototyp eines 16-Bit-Betriebssystems wurde. Einige Jahre zuvor war ein bekannter finnischer Student einen ähnlichen Weg gegangen, indem er ein Terminalprogramm, das er geschrieben hatte, nach und nach verfeinerte und Schritt für Schritt in den Kern eines Betriebssystems verwandelte, das später als Linux bekannt wurde.
Die erste 16-Bit-Version von SkyOS, die 1997 veröffentlicht wurde, war vollständig in Assembler geschrieben. Sie wurde unter einer offenen Lizenz vertrieben, und der Quellcode stand zum kostenlosen Download zur Verfügung. Die nächste Version, die ein Jahr später erschien, wurde jedoch von Robert Sheleny von Grund auf in C umgeschrieben. Es war ein 32-Bit-Mehrbenutzer-Betriebssystem mit einem monolithischen Kernel und einer UNIX-ähnlichen Architektur. Dennoch konnte die zweite Version immer noch nur als Prototyp bezeichnet werden – das System startete von einer FAT-Partition und unterstützte weder virtuellen Speicher noch Benutzeraufgaben. Dennoch hatte Version 2 bereits den TCP/IP-Protokollstapel implementiert und verfügte über eine Reihe von Konsolenprogrammen, die mit GNU Toolchain erstellt wurden. Diese Programme konnten mit wenigen oder gar keinen Modifikationen auf SkyOS portiert werden.
Nach einer kurzen Pause von SkyOS aufgrund der Notwendigkeit, eine Strategie für die Entwicklung von Treibern für neue Geräte zu finden, veröffentlichte Robert Szeleney eine Liste von Verbesserungen, die er an seinem Betriebssystem vorgenommen hatte. Die wichtigste davon war die Entscheidung, den Linux-Kernel 2.6.27.4 als Basis für das gesamte System zu verwenden. Der Autor hatte zuvor die mögliche Verwendung des NetBSD-Kernels erwähnt, aber da dieser nirgends im SkyOS-Entwicklungsstatusbericht erwähnt wird, können wir davon ausgehen, dass diese Idee vorerst unrealisiert bleibt.
Die Liste der Neuerungen ist wie folgt:
- Der Linux-Kernel 2.6.27.4 verwendet eine init-RAM-Disk mit animierter usplash-Anzeige, um den Bootvorgang anzuzeigen.
- Standard-Linux-Dienstprogramme (LSBs) wie coreutils usw. werden verwendet.
- Portierte Dienste: DHCP, NFS, und Anwendungen: iputils, etc.
- Das SkyOS-Systemnachrichten-Subsystem heißt jetzt MessagePort und ermöglicht die bidirektionale Kommunikation zwischen Prozessen.
- Der Grafikteil von SkyOS wurde aus dem Kernel entfernt und durch einen Grafikserver mit SVGAlib ersetzt.
- Die Testanwendung registriert ihre Instanz erfolgreich auf dem Server unter Verwendung der SkyOS C++-Anwendungsklasse.
Robert Szeleney hat die folgenden Pläne für die Zukunft genannt:
- Dem Grafikserver beibringen, auf Tastatur- und Mausereignisse zu reagieren.
- Durchführung grundlegender Fensteroperationen.
- Portierung der verbleibenden SkyOS-C++-Fensterhandler-Klassen.