# SkyOS

SkyOS (Sky Operating System) ist ein derzeit nicht mehr gepflegtes Betriebssystem für x86-PCs, das größtenteils alleine vom Österreicher Robert Szeleney entwickelt wurde. Es startete als Open-Source-Hobbyprojekt, war zwischenzeitlich als Closed-Source-Software kostenlos erhältlich und sollte mit Version 5 als kommerzielles Betriebssystem platziert werden. Ab dem Jahr 2003 erschienen kostenpflichtige Beta-Versionen, verknüpft mit der Zusage, dass Käufer später die stabile, für den produktiven Einsatz taugliche Version kostenlos erhalten würden, sobald sie veröffentlicht wäre. Dieses Stadium wurde jedoch nicht erreicht. Im Januar 2009 erklärte Szeleney, die Weiterentwicklung der Software sei „vorläufig eingestellt“. Seit August 2013 ist die neueste Beta-Version, Build 6947 aus dem Jahr 2008, öffentlich verfügbar.

## Geschichte

Robert Szeleney startete die Entwicklung von SkyOS ursprünglich 1996 als reinen Bootloader. Die erste Version (0.1) des zunächst in Assembler geschriebenen 16-Bit-Betriebssystems erschien am 15. Dezember 1997. Version 2 wurde 1998 gestartet und stellte nun ein in C geschriebenes 32-Bit-System dar. Bis zur abermals komplett neu geschriebenen Version 3 war SkyOS Open Source. Das Online-Magazin OSNews zeichnete SkyOS im Jahr 2003 als Best Hobby OS aus. Version 4 war kostenlos, aber Closed Source. Version 5 sollte kommerziell sein, gelangte jedoch nicht über ein kostenpflichtiges Betatesterprogramm hinaus.
Es erwies sich für das kleine Entwicklerteam als schwierig, mit aktuellen technischen Entwicklungen Schritt zu halten und beispielsweise Treiber für neue Hardware bereitzustellen. Im Januar 2009 wurde die Entwicklung daher offiziell pausiert. Szelesney erklärte, er experimentierte damit, den eigenen, monolithischen SkyOS-Kernel durch den Linux-Kernel oder den von NetBSD auszutauschen. Schließlich erklärte er gegenüber OSNews.com, nach anderen Möglichkeiten zu suchen, die Entwicklung von SkyOS fortzuführen.

## Ziele

SkyOS war vor allem für den Desktop-Bereich ausgelegt, und versuchte, sich zwischen Windows und Linux zu positionieren, mit dem Hauptziel einer einfachen Benutzung der grafischen Benutzeroberfläche. Es besaß zwar eine größtenteils POSIX-kompatible Programmierschnittstelle, verstand sich aber nicht als Unix-Derivat, da es sonst keine Ähnlichkeiten mit Unix besaß. So war bei SkyOS die grafische Benutzeroberfläche SkyGI, anders als bei Unix üblich, ein fester Bestandteil des Systems, ähnlich wie bei Windows. Grund dafür war die einfachere Handhabung des Systems durch den Benutzer.

## System
### Hardware

Die Hardware-Unterstützung blieb an vielen Stellen sehr unvollständig, so wurden Technologien wie WLAN oder Bluetooth nicht unterstützt. Dagegen war es möglich, Drucker, CD-Brenner, ACPI und verschiedene USB-Geräte wie Massenspeichergeräte und Eingabegeräte zu betreiben. Obwohl die meisten Grafikchips von Nvidia, ATI und Intel unterstützt wurden, boten die Treiber keine Unterstützung für die 3D-Funktionen.

### Desktop-Konzept

Die Taskleiste befindet sich bei SkyOS oben in der Mitte und verändert ihre Größe je nach Anzahl der offenen Programme. Der Desktop beherbergt ausschließlich Verknüpfungen zu Programmen und Dateien, keine Dateien selbst. SkyOS verwendet keine Workspaces – Programme werden über die Taskleiste oder über die Tastaturkombination Alt+Tab gewechselt. Mithilfe eines Dock-ähnlichen Programms namens Subnecto lassen sich Programme starten. Eine Besonderheit stellen die systemweiten Mausgesten dar, mit denen sich praktisch das gesamte System steuern lässt.

### Software

SkyOS verfügte über einen Linux-Emulationslayer und war daher in der Lage, Linux-Applikationen auszuführen. Es existierte aber auch Software, die nativ für SkyOS geschrieben wurde. Die meisten Programme sind Portierungen freier Software von anderen Betriebssystemen, überwiegend aus der Unix-Welt:
* Bildbearbeitung: GIMP und Pixel.
* Internet: Mozilla Firefox (neben dem eigenen Browser SkyKruzer), Mozilla Thunderbird, Nvu, Pidgin, ein nativer FTP-Client, ein BitTorrent-Client, wget. Außerdem ist ein nativer XMPP-Client in Entwicklung.
* Multimedia: Das native MediaCenter unterstützt eine Vielzahl an Codecs, eine aktuelle Portierung des VLCs ist ebenfalls verfügbar.
* Office: AbiWord und ein Kontaktmanager, der ähnlich wie BeOS Attribute zum Speichern von Informationen verwendet.
* Remote Access: Server und Clients für VNC und Telnet.
* Spiele: Quake, Quake II, Quake III Arena, FooBillard, OpenTTD, ScummVM und etwa 20 kleinere Spiele, die meist auf SDL oder Mesa 3D basieren.
* Außerdem sind unter anderem Compiler und Interpreter für folgende Programmiersprachen vorhanden: C, C++, C#, D, Pascal, Perl, Python, Ruby. Mono und DotGNU werden unterstützt, außerdem sind Toolkits wie SDL und GTK verfügbar.
Die meisten vorhandenen Programme wurden bei der Standard-Installation mitgeliefert, weitere Applikationen ließen sich kostenlos über ein Update-Tool namens Software Store installieren.

### Multimedia

Das Abspielen von Audio- und Videodateien wurde in SkyOS vom Integrated Streaming System (ISS) übernommen, mit dem Programmierer das Abspielen einer MP3-Datei mit einer einzigen Codezeile implementieren konnten. Das MediaCenter, die Standardanwendung zum Abspielen von Videos und Audiodateien, konnte auch DVDs abspielen. Neben dem MediaCenter existierte auch eine Portierung des VLC media player. Außerdem existierte ein Proof of Concept einer SkyOS MediaStation, einer Anwendung ähnlich dem Windows Media Center.

### Weitere Services

Neben dem Integrated Streaming System arbeiteten etwa 20 weitere Services im Hintergrund und konnten über den SystemManager aktiviert werden. Zu nennen ist insbesondere der Indexfeeder, der einen sich ständig aktualisierenden Suchindex erstellte. Weiter startete und konfigurierte der Service File and Folder Sharing einen Samba-Server, der Service Webserver einen HTTP-Server, der Gesture Executor ermöglichte systemweite Mausgesten, und der Weather Service lud aktuelle Wetterdaten für einen Ort herunter und zeigte sie in der SkyOS-Taskleiste an.

### SkyFS

Das 64-Bit-Journaling-Dateisystem SkyFS basierte auf OpenBFS, dem Dateisystem von Haiku und eine Reimplementierung des Be File Systems. Es ist ein 64-Bit-Journaling-Dateisystem und unterstützte indizierbare Metadaten, was die Suche nach bestimmten Dateien erheblich beschleunigen kann. Außerdem war es in der Lage, Laufwerke mit einer Größe von bis zu 64 Zettabyte zu verwalten. Die maximale Dateinamenlänge lag bei 255 Zeichen. Zwar war SkyFS aufgrund der zahlreichen Veränderungen nicht mehr kompatibel zu BFS, allerdings bot SkyOS weiterhin Unterstützung für das Mounten von BFS-Partitionen sowie weiterer Dateisysteme, etwa FAT32.

### BranchFS

Das BranchFS ist ein virtuelles Dateisystem und erfüllt eine Reihe an verschiedene Aufgaben:
* Nachdem man ein Dateisystem gebrancht hat, kann man jederzeit danach auf den gebranchten Dateistand zurückschalten.
* Es ermöglicht auf Nur-Lese-Dateisystemen, zum Beispiel ISO 9660 (CDs), Dateien virtuell anzulegen oder zu verändern – die Änderungen werden dabei auf der Festplatte gespeichert.
* SkyFS-Attribute können auf anderen Dateisystemen geschrieben und auch vom IndexFeeder durchsucht und angelegt werden.

### Internationalisierung

Als Betriebssystem, das hauptsächlich für den Desktop-Einsatz gedacht ist, versuchte das SkyOS-Team, weite Teile des Betriebssystems zu lokalisieren. Grundlage dafür war ein systemübergreifendes Lokalisierungssystem. Die wichtigsten Teile, zum Beispiel die Installation, wurden in etwa 30 Sprachen, darunter auch Deutsch, übersetzt.

### Installation

Ähnlich wie in Ubuntu wurde das System bei der Installation live von der CD gebootet. Der Desktop wurde wie bei einer Live-CD gestartet, alle Programme standen zur Verfügung. Wollte man eine Installation, so klickte man auf ein Symbol am Desktop, das Installationsprogramm wurde gestartet. Das System inklusive aller Programme stand während der Installation weiterhin zur Verfügung.

## Vor- und Nachteile

Anhänger des Betriebssystems schätzten die hohen Geschwindigkeit, mit der Programme ausgeführt werden, und die Einfachheit des Systems, die vor allem durch ein einziges, zentrales Einstellungs-Programm erreicht wird.
Kritiker bemängelten die begrenzte Hardware-Unterstützung und die Konditionen des Betatest-Programms, bei dem die Tester für ihre Arbeit bezahlen und dafür im Gegenzug später die stabile Version erhalten sollten, die jedoch nie erschien. Vielfach wurde seit der Schließung des Codes zudem über mögliche Verletzungen der GPL und anderer freier Lizenzen spekuliert, da es als unwahrscheinlich gilt, dass eine Einzelperson mit vergleichsweise geringer Unterstützung ein derart komplexes System entwickeln kann.