Object-oriented operating system

From Wikipedia, the free encyclopedia

An object-oriented operating system is an operating system which internally uses object-oriented methodologies.

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, for example, of 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.

Contents

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.

NEXTSTEP's basis, Mach and BSD, are not object-oriented. Instead, the object-oriented portions of the system live in userland. Thus, NEXTSTEP cannot be considered an object-oriented operating system in the strictest terms.

The NeXT hardware and operating system were not successful, and, in search of a new strategy, the company re-branded its object-oriented technology as a cross-platform development platform.

Though NeXT's efforts were innovative and novel, they gained only a relatively small acceptance in the marketplace. NeXT was later acquired by Apple Computer and its operating system became the basis for Mac OS X most visibly in the form of the "Cocoa" frameworks.

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, Process 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.

Athene is an object based operating system first released in 2000 by Rocklyte Systems. The user environment is constructed entirely from objects that are linked together at runtime. Applications for Athene can also be created using this methodology and are commonly scripted using the object scripting language 'DML' (Dynamic Markup Language). Objects can be shared between processes by creating them in shared memory and locking them as required for access. Athene's object framework is multi-platform, allowing it to be used in Windows and Linux environments for the development of object oriented programs.

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.

Syllable makes heavy use of C++ and for that reason is often compared to BeOS.

TAJ is India's first object oriented operating system. It is made in C++ with some part in assembly. The source code of TAJ OS is highly modularized and is divided into different modules, each module is implemented as class. Many object oriented features like inheritance, polymorphism, virtual functions etc are extensively used in developing TAJ Operating System. TAJ OS is a multitasking, multithreading and multiuser operating system.

The kernel of TAJ Operating System is of monolithic type. i.e. all the device drivers and other important OS modules are embedded into kernel itself. This increases the speed of execution by reducing context switching time (time taken to execute a system call).

TAJ OS is developed by Viral Patel. You can download the image file for TAJ OS at http://www.viralpatel.net or http://www.geocities.com/taj_os

Features of TAJ Operating System:

  • 32-bit Protected mode Operating System
  • Paging enable
  • Secure Exception handling
  • Interrupt management system
  • Work with different kinds of CPU (80386 onwards).
  • Fully functional built in keyboard driver
  • Total DMA control
  • Floppy driver
  • Mouse driver
  • Fat file system driver
  • Multitasking
  • Multithreading
  • Multiuser

Given that 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.

Examples of attempts at such an operating system include JNode and JOS.

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.