Object-oriented operating system
An object-oriented operating system is in contrast to an object-oriented user interface or programming framework, which can be placed above a non-object-oriented operating system like DOS, Microsoft Windows or Unix.
It can be argued, however, that there are already object-oriented concepts involved in the design of a more typical operating system such as Unix. While a more traditional language like C does not support object orientation as fluidly as more recent languages, the notion of, for example, a file, stream, or device driver (in Unix, each represented as a file descriptor) can be considered a good example of object orientation: they are, after all, abstract data types, with various methods in the form of system calls, whose behavior varies based on the type of object, whose implementation details are hidden from the caller, and might even use inheritance in their underlying code.
- 1 Examples
- 2 See also
- 3 References
- 4 External links
Athene was an object-based operating system first released in 2000 by Rocklyte Systems. The user environment was constructed entirely from objects that are linked together at runtime. Applications for Athene could also be created using this methodology and were commonly scripted using the object scripting language 'DML' (Dynamic Markup Language). Objects could have been shared between processes by creating them in shared memory and locking them as required for access. Athene's object framework was multi-platform, allowing it to be used in Windows and Linux environments for the development of object-oriented programs. The company went defunct and the project abandoned sometime in 2009.
One attempt at creating a truly object-oriented operating system was the BeOS of the mid 1990s, which used objects and the C++ language for the application programming interface (API). But the kernel itself was written in C with C++ wrappers in user space. The system did not become mainstream though even today it has its fans and benefits from ongoing development.
Choices is an object-oriented operating system that was developed at the University of Illinois at Urbana-Champaign. It is written in C++ and uses objects to represent core kernel components like the CPU, processes and so on. Inheritance is used to separate the kernel into portable machine independent classes and small non-portable dependent classes. Choices has been ported to and runs on SPARC, x86 and ARM.
PC/GEOS is a light-weighted object-oriented multitasking graphical operating system with sophisticated window and desktop management featuring scalable fonts. It is mostly written in an object-oriented x86 assembly language dialect and some C/C++ and is designed to run on top of DOS (similar to Microsoft Windows). GEOS was originally developed by Berkeley Softworks in 1990, who later became GeoWorks Corporation, and it is continued to be maintained by BreadBox Computer Company. Software suites were also known as Ensemble and New Deal Office. Adaptations for various palmtops and as 32-bit systems with non-x86-CPUs exist as well.
After the discontinuation of BeOS, an effort to create an open-source replacement began. Haiku (originally named OpenBeOS) reached its first milestone in September 2009 with the release of Haiku R1/Alpha 1. The x86 distribution is compatible with BeOS at both source and binary level. Like BeOS, it is written primarily in C++ and provides an object-oriented API. It is actively developed.
IBM invented AS400 around 1978 The AS400 OS has a 128 bit unique identifier for each object.
IBM OS/2 2.0
IBM's first priority based pre-emptive multitasking, graphical, windows based, object-oriented operating system for the Intel 80386 that included virtual 8086 mode and full 32 bit support and released in 1992.
TopView was an object-oriented operating environment that took control of the PC from DOS when loaded on DOS. At that point it effectively became an object-oriented operating system with an object-oriented API (TopView API). It was IBM's first multi-tasking, window based, object-oriented operating system for the PC lead by David C. Morrill and released in February 1985.
Java-based operating systems
Given that Oracle's (formerly Sun Microsystems') Java is today one of the most dominant object-oriented languages, it is no surprise that Java-based operating systems have been attempted. In this area, ideally, the kernel would consist of the bare minimum required to support a JVM. This is the only component of such an operating system that would have to be written in a language other than Java. Built upon that JVM and basic hardware support, it would be possible to write the rest of the operating system in Java; even parts of the system that are more traditionally written in a lower-level language such as C, for example device drivers, can be written in Java.
During the late 1980s, Steve Jobs formed the computer company NeXT. One of NeXT's first tasks was to design an object-oriented operating system, NeXTSTEP. They did this by adding an object-oriented framework on top of Mach and BSD using the Objective-C language as a basis.
Self (programming language) was invented at Sun.
Genera from Symbolics is an operating system for Lisp machines written in ZetaLisp and Symbolics Common Lisp. It makes heavy use of Flavors (an early object-oriented extension to Lisp) and the Common Lisp Object System (CLOS). The development started in the mid 70s at MIT.
Taligent was an object-oriented operating system project, started by Apple Inc. and jointly developed with IBM in the 1990s. It was later spun off to an IBM subsidiary and transformed from an operating system to a programming environment.
- "About". JOS (A Free Java-Based Operating System). Retrieved 2012-09-03. "The JOS Project is a collaborative undertaking by an international group of Java™ programmers and enthusiasts aimed at the creation of a free and open Java™ based Operating System (JOS). As a collaborative effort, we work together to research how a Java-based operating system should work. Together, we work to build components for a Java-based operating system."