| SkyOS | |
| Website | http://www.skyos.org/ |
|---|---|
| Company/ developer |
Robert Szeleney |
| Source model | Closed source |
| Latest unstable release | Beta 6915 / April 1, 2008 |
| Marketing target | Desktop users |
| Available language(s) | Multilingual |
| Supported platforms | X86 |
| Kernel type | Monolithic |
| License | Proprietary |
| Working state | Beta |
SkyOS (pronounced /skaɪ o s/) is a modern graphical desktop operating system written for the X86 computer architecture. A website (alternatively web site or Web site, a back-construction from the Proper noun World Wide Web) is a collection of Web pages The software industry comprises businesses involved in the development, maintenance and publication of Computer software. A software developer is a person or organization concerned with facets of the software development process wider than design and coding a somewhat broader scope of Proprietary software is Computer software on which the producer has set restrictions on use private modification copying, or republishing. In the Philosophy of language, a natural language (or ordinary language) is a Language that is spoken or written in phonemic-alphabetic or phonemically-related See also X86 assembly language The generic term x86 refers to the most commercially successful Instruction set architecture in the history of Personal In Computer science, the kernel is the central component of most computer Operating systems (OS A monolithic kernel is a kernel architecture where the entire kernel is run in Kernel space in Supervisor mode. A software license (or software licence in commonwealth usage is a Legal instrument governing the usage or redistribution of copyright protected software Proprietary software is Computer software on which the producer has set restrictions on use private modification copying, or republishing. A software release is the distribution whether public or private of an initial or new and upgraded version of a Computer software product An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination See also X86 assembly language The generic term x86 refers to the most commercially successful Instruction set architecture in the history of Personal In Computer engineering, computer architecture is the conceptual design and fundamental operational structure of a Computer system As of April 2008 it is under active development. April holidays and events National Poetry Month - in United States National Sexual Assault Awareness Month - in United 2008 ( MMVIII) is the current year in accordance with the Gregorian calendar, a Leap year that started on Tuesday of the Common
Contents |
SkyOS is the culmination of over ten years of research and development by Robert Szeleney and volunteers.
A young man in University, Szeleney and several friends began the "Sky Operating System" as an experiment in OS design. As the years progressed and the other founding members of SkyOS distanced from the project, Szeleney continued work on the operating system in his spare time.
Szeleney's full-time job was in automation programming, and he already had a fair understanding of operating system design. But he continued to use SkyOS as a learning device, releasing four versions under an open source license.
The project reached the height of its popularity in 2004, when Szeleney decided to close the source of SkyOS and begin work on the fifth version. At the beginning of the year, Szeleney started a paid beta program to fund development and distribution of the OS, expecting to have very few (if any) interested subscribers. At the same time, members of the community hosted a contest to determine the look of the GUI, which drew significant attention to the project. So much attention, in fact, that by the end of that same year, the SkyOS community had tripled in size, and Szeleney had hundreds of active beta testers downloading and testing his twice-monthly releases.
SkyOS underwent many changes after this surge in popularity. Because of significant differences at the source level, Szeleney stopped thinking of what was under development as the fifth version of his operating system, and the name "SkyOS 5. 0" was rebranded to simply "SkyOS. " A more professional demeanor was taken throughout the project, and Szeleney even considered incorporating under the name "Djinnworks. " The SkyOS community has since shrunk significantly from its peak in 2004, but development of SkyOS continues as fast as ever. The codebase has grown to several hundred thousand lines of code, and current development is focused on a complete rewrite of the kernel in an attempt to bring legacy code up to par with the rest of the system.
| Date Released | Version |
|---|---|
| January 11, 2004 | Beta 1 |
| February 14, 2004 | Beta 3 |
| March 19, 2004 | Beta 4 |
| April 9, 2004 | Beta 5 |
| May 21, 2004 | Beta 6 |
| July 5, 2004 | Beta 7 |
| October 1, 2004 to August 6, 2005 | Beta 8. Events 1055 - Theodora is crowned Empress of the Byzantine Empire. "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " Events 842 - Charles the Bald and Louis the German swear the Oaths of Strasbourg in the French and German "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " Events 1279 - A Mongolian victory in the Battle of Yamen ends the Song Dynasty in China. "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " Events 193 - Septimius Severus is proclaimed Roman Emperor by the army in Illyricum (in the Balkans) "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " Events 878 - Syracuse Italy is captured by the Muslim sultan of Sicily. "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " Events 1295 - Scotland and France form an alliance the beginnings of the Auld Alliance, against England. "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " Events 331 BC - Alexander the Great defeats Darius III of Persia in the Battle of Gaugamela. "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " Events 1538 - Bogotá, Colombia, is founded by Gonzalo Jiménez de Quesada. Year 2005 ( MMV) was a Common year starting on Saturday (link displays full calendar of the Gregorian calendar. x Series |
| November 27, 2005 | Beta 9 |
| March 26, 2006 | Build 5550 |
| July 26, 2006 | Build 6132 |
| September 3, 2006 | Build 6179 |
| November 18, 2006 | Build 6669 |
| June 21, 2007 | Build 6753 |
| August 4, 2007 | Build 6763 |
| October 8, 2007 | Build 6796 |
| November 25, 2007 | Build 6814 |
| April 1, 2008 | Build 6915 |
SkyOS user space lies on top of a custom, modularized, preemptive-multitasking kernel with support for common features like process and thread isolation, memory management/paging, kernel debugging, low-level locking primitives, and real-time PIC/APIC timers. Events 1095 - Pope Urban II declares the First Crusade at the Council of Clermont Year 2005 ( MMV) was a Common year starting on Saturday (link displays full calendar of the Gregorian calendar. Events 1026 - Pope John XIX crowns Conrad II as Holy Roman Emperor. Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Events 657 - Battle of Siffin. 811 - Battle of Pliska; Byzantine Emperor Nicephorus Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Events 36 BC - In the Battle of Naulochus, Marcus Vipsanius Agrippa, Admiral of Octavian, defeats Sextus Pompeius Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Events 326 - The old St Peter's Basilica is consecrated 1302 - Pope Boniface VIII issues the Papal bull Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Events 524 - Godomar, King of the Burgundians defeats the Franks at the Battle of Vézeronce. Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 70 - The Destruction of the Second Temple in Jerusalem by the Romans. Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 314 - Roman Emperor Licinius is defeated by his colleague Constantine I at the Battle of Cibalae, and loses Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 1034 - Máel Coluim mac Cináeda, King of Scots dies Donnchad, the Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 527 - Byzantine Emperor Justin I names his nephew Justinian I as co-ruler and successor to the throne 2008 ( MMVIII) is the current year in accordance with the Gregorian calendar, a Leap year that started on Tuesday of the Common It is a monolithic kernel, with drivers that are dynamically loaded into kernel space via an extension API.
There are some notable features that distinguish the SkyOS kernel from others. These include:
Contrary to a popular misconception, the kernel is not derived from Linux or any of the various BSDs. It was written entirely by Szeleney over the course of several years, and uses no outside code. [1]
The design of the SkyGI API is loosely based around the concepts of the Qt and Swing windowing toolkits. Qt (pronounced "cute" by its creators is a Cross-platform application development framework widely used for the development of GUI programs (in which Swing is a Widget toolkit for Java. It is part of Sun Microsystems ' Java Foundation Classes (JFC &mdash an API for providing A core principle of SkyGI is the "view. " Every GUI object is derived from the base "view" object, and, as such, all have similar properties and behave in similar ways. [2]
SkyGI has built in support for internationalization and localization, allowing third party developers to easily create multilingual applications that are based around easy to write 'translation' files. In Computing, Internationalization and localization (also spelled internationalisation and localisation, see spelling differences) are means of adapting The framework also facilitates accessibility by building in support for advanced keyboard navigation. Accessibility is a general term used to describe the degree to which a product (e
Native controls can be themed by placing a 'theme' file, syntactically similar to the MSStyles format, in a directory corresponding to the location of the executable. [3]
The SkyOS GUI closely follows the WIMP desktop metaphor used in all modern GUIs. In Human–computer interaction, WIMP stands for " window, icon, menu, Pointing device " denoting a style of interaction The desktop metaphor is an Interface metaphor which is a set of unifying concepts used by Graphical user interfaces to help users more easily interact with the However, there are several major components of the SkyOS GUI that are distinct from other operating systems:
The Panel is the functional equivalent to the task bar in Windows or the dock in Mac OS X. In Computing, the taskbar is a term for an application desktop bar which is used to launch and monitor applications Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft. A dock is a User interface feature of a number of Operating systems that typically provides a user with a way of launching and switching Mac OS X (mæk oʊ ɛs tɛn is a line of computer Operating systems developed marketed and sold by Apple Inc, the latest of which is pre-loaded on all currently It is used to launch programs and switch between application windows, as well as to display information to the user. Plug-ins allow developers to extend the panel's functionality. Existing plug-ins, for example, have added query-based fast application launching, and have modified the day/night indicator to instead show localized weather information.
The Notifier is a built-in user interface element for alerting the user to any number of things, including application crashes and hardware additions/removals. Application programmers may use the notifier for their own purposes via the Desktop Communication Service.
The Viewer is the native file browser on SkyOS. It features multiple view types, thumbnails, and metadata-based display of information, as well as "search as you type" browsing and advanced queries.
SkyFS is a fork of the OpenBFS filesystem. In Software engineering, a project fork happens when developers take a copy of Source code from one software package and start independent development In Computing, a file system (often also written as filesystem) is a method for storing and organizing Computer files and the data they contain to make It supports the following notable features:
Few changes have been made to the filesystem since the fork. A journaling file system is a File system that logs changes to a journal (usually a circular log in a dedicated area before committing them to the main file Extended file attributes is a File system feature that enables users to associate Computer files with Metadata not interpreted by the filesystem whereas In Computer security, an access control list ( ACL) is a list of permissions attached to an object The Magic ID has been changed to differentiate between SkyFS partitions and BFS partitions, and space is now reserved at the beginning of each partition for a bootloader. In Computer programming, the term magic number has multiple meanings Otherwise, the on-disk layout of the filesystems are identical.
SkyOS can also be run from the following filesystems:
With the help of the SQL-based Index Feeder, SkyFS supports fast metadata and full-text searching similar in concept to WinFS and Spotlight. WinFS (short for Windows Future Storage) is the code name for a data storage and management system based on Relational databases developed by Spotlight is a system-wide Desktop search feature of Apple's Mac OS X Operating system introduced in version 10 [4] This allows for instantaneous system-wide searches as well as "search as you type" file browsing.
The concept of virtual folders, which is commonly implemented alongside a query-based search framework, exists in SkyOS as the ability to save queries in the Viewer for later execution. In computing a virtual folder generally denotes an organizing principle for files that is not dependent on their physical location in a folder.
Here is an example Viewer query that would display all . txt documents that were modified today:
name = *. txt && last_modified >= %today%
To perform a search, it is not necessary to understand the syntax of the above query. Queries can be built using a GUI, or simpler keyword-based searching can be (and is by default) used.
While there are several well-developed APIs as well as exceptional POSIX compatibility, writing and releasing applications for SkyOS can be difficult due to minor binary incompatibilities between betas. Developers that wish to offer an application for SkyOS must keep up with the changes being made to the APIs, and are usually required to modify and recompile their applications upon the release of each new beta. There are no plans to finalize any of the APIs before SkyOS is publicly released, as Szeleney wishes to reserve the ability to further improve them as development progresses.
SkyOS executables are compiled into the ELF format using the GNU Compiler Collection. In Computing, the Executable and Linking Format ( ELF, formerly called Extensible Linking Format) is a common standard File format for Executables The GNU Compiler Collection (usually shortened to GCC) is a set of Compilers produced for various Programming languages by the GNU Project Commonly, developers cross compile their applications for use on SkyOS. A cross compiler is a Compiler capable of creating Executable code for a platform other than the one on which the compiler is run However, as GCC has been ported and is actively being maintained, it is also possible to develop applications inside of a running SkyOS installation. Most notably, Scribis, a multi-protocol instant messenger, was developed by a volunteer exclusively under a running SkyOS environment.
Developers who wish to distribute their applications via an official channel may set up a Software Store repository online. [5] The SkyOS Software Store is a GUI-based software distribution system that implements a custom package format and simple repository protocol. A software distribution, also referred to as a software distro, is a bundle of a specific Software (or a collection of multiple even an entire Operating Its name is a misnomer, as it can not be used to actually buy or sell anything. A misnomer is a term which suggests an interpretation that is known to be untrue
The evolution of SkyOS itself happens rather sporadically, with little documented long-term planning. This has often caused concern in the community, but has allowed for a development pace much faster than democratically-steered projects.
C++ is the only programming language officially supported for native development on SkyOS. C++ (" C Plus Plus " ˌsiːˌplʌsˈplʌs is a general-purpose Programming language. Perl and Python have been ported, but the virtual machines have no bindings to any of the native SkyOS APIs. .NET applications that are command-line based can be run through Mono, but again, as there are no bindings to SkyGI, Windows Forms based GUI applications can not be run. Mono is a project led by Novell (formerly by Ximian) to create an Ecma standard compliant.
The Desktop Communication Service is an object-oriented inter-process communication framework used throughout SkyOS. Inter-Process Communication ( IPC) is a set of techniques for the exchange of data among two or more threads in one or more processes. It allows command-line and API based communication between both kernel and user space processes in SkyOS. [6]
In this messaging model, human-readable messages are sent to 'interfaces' that are represented by a string of identifiers.
For example, sending this message to "Notify. Media. Player. Control" would cause the SkyOS media player to advance to the next song:
MessageType STRING "Next Song"
SkyOS emits messages in response to hundreds of events, including device attachments, successful software installs, battery level changes, and new weather data, all available to any application or driver that subscribes to the appropriate interface.
The Integrated Streaming System (ISS) is a set of C++ APIs designed to facilitate media interaction, similar to the concept of a sound server in Linux. A sound server is Software that manages the use of and access to audio devices most notably the Soundcard. The API is abstracted so that media playback is completely independent of codec.
Basic functionality can be achieved in less than ten lines of code in situations where default behavior is acceptable to the programmer. However, through a very extended API, all relevant parts of the audio-visual processing pipeline can be controlled.
"For example, you can create two audio streams, one stereo, one 5. 1 DolbyDigital, connecting an echo filter to the second, associating the 5. 1 stream with a SB Audigy live and the stereo stream with a basic stereo soundcard, and apply various software digital filters to individual streams. "
— Robert Szeleney [7]
Most command-line applications that were written to be compiled with the GNU Toolchain can be ported to SkyOS with little or no modification. The GNU toolchain is a blanket term for a collection of Programming tools produced by the GNU Project. Several large applications, including Apache, GCC, Samba, CUPS, and Bash have been ported using the Toolchain. Bash is a Free software Unix shell written for the GNU Project.
The following applications have been ported using native APIs and are currently being maintained on SkyOS:
The ports of GTK and several GTK-based applications have become unusable with recent API changes. Mozilla Thunderbird is a free, Open source, Cross-platform e-mail and News client developed by the Mozilla Foundation. Blender is a free 3D graphics application It can be used for modeling, UV unwrapping texturing rigging, water simulations Pixel image editor (formerly known as Pixel32 is an Image editor written by the Slovak programmer Pavel Kanzelsberger Nvu (pronounced "N-view") is a discontinued WYSIWYG HTML editor, based on the Composer component of Mozilla Application Suite Simple DirectMedia Layer ( SDL) is a cross-platform Free and open source software multimedia library written in C that presents a simple interface It is not yet known if in the future they will be brought back up to speed.
Due to the limited popularity of the operating system, SkyOS has very few third party developers. This means that many common hardware devices are not supported by SkyOS, and are not likely to be without significant money and effort on Szeleney's part.
Less importantly, this means that a limited variety of applications are available for SkyOS. While some of the basic needs such as web browsing and e-mail are covered, others are not. These needs include:
To help stimulate third party development, SkyOS employs a "code ransom" system where people may donate money to projects that they wish to see completed. Developers who complete these projects will then receive any money that has been donated to the project. [8] If possible, Szeleney hopes to complete any projects not claimed by the code ransom before SkyOS leaves beta status.
Although the APIs for working with user and file permissions are well-developed, none of the applied permissions are actually obeyed by the system. While SkyOS is under development, this will remain the intended behavior.
The network stack used in SkyOS is a custom design which is largely untested in a production environment. No known attempts have been made to penetrate a live system from the internet, meaning that the 'crackability' of SkyOS is unknown.
The "passworded folders" feature is implemented at the filesystem level, so no SkyOS applications can use the native APIs to access files without the correct password having been entered by the user. However, files in a passworded folder are stored on-disk in an a way identical to un-passworded files, so a clever programmer could write a userspace SkyFS driver that simply ignores the password and reads the directory at whim.
The stability of SkyOS varies from user to user, although, as a whole, it is improving. With the right hardware, a user may almost never experience a crash, but with the wrong hardware, the system may not even boot. No comprehensive hardware compatibility list can be kept due to the ever changing state of the system.
As a former open source project, SkyOS has been the subject of many debates involving Free software. Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified
Often, SkyOS is accused of violating the GPL based on a fallacy of necessity. A fallacy of necessity is a fallacy in the logic of a Syllogism whereby a degree of unwarranted necessity is placed in the conclusion That is, since developing an operating system is thought to be an exceedingly complex task, the conclusion is drawn by some that Szeleney must have stolen code from Free software in order for him to have made the progress that he has. In fact, the opposite is implied by Szeleney's public dealings with open source developers. [9] Even when not required under license, Szeleney has consistently published changes made to open source works used in SkyOS. [10][11]
Some beta testers fear that their investment will be lost if Szeleney becomes unable or unwilling to continue the development of SkyOS. This fear is commonly used as one of the more well-substantiated arguments for open sourcing SkyOS. There has so far been no official response from Szeleney as to the fate of SkyOS in this eventuality.