Singularity (operating system)

From Wikipedia, the free encyclopedia

(Redirected from Microsoft Singularity)
Jump to: navigation, search
Singularity
Website Microsoft Research Singularity Project
Company/
developer
Microsoft Corporation
OS family N/A
Source model Closed source
Latest stable release 1.0 / ?
Marketing target N/A
Available language(s) C#
Update method  ?
Package manager  ?
Supported platforms x86
Kernel type Microkernel
Default user interface Command line interface
License N/A (This software has not been released to the public)
Working state Currently under development by Microsoft Research

Singularity is a Microsoft Research project started in 2003 to build a highly-dependable operating system in which the kernel, device drivers, and applications are all written in managed code.

The lowest-level x86 interrupt dispatch code is written in assembly language and C. Once this code has done its job, it calls the kernel, whose runtime and garbage collector are written in C# and run in unsafe mode. The hardware abstraction layer is written in C++ and runs in safe mode. There is also some C code to handle debugging. The computer's BIOS is only called during the 16-bit real-mode bootstrap stage; once in 32-bit mode, Singularity never calls the BIOS again, but rather calls device drivers written in C#. During installation, CIL opcodes of the C# kernel are compiled into x86 opcodes using the Bartok compiler.

By 2007 Singularity V1.0 is considered to be complete. A Singularity V1.0 Research Development Kit (RDK) has been shipped to a small number of universities for their research efforts. There has been no mention of releasing the source code or binaries to the public. Currently research is moving to the development of Singularity V2.0.[1]

Contents

Singularity is a microkernel operating system; however, unlike most historical microkernels, the different components do not run in separate address spaces (processes). Instead, there is only a single address space in which "Software-Isolated Processes" (SIP) reside. Each SIP has its own data and code layout, and is independent from other SIPs. These SIPs behave like normal processes, but do not require the overhead penalty of task-switches. Protection in this system is provided by a set of invariants, such as the memory-invariant which states there will be no cross-references (or memory pointers) between two SIPs. Communication between SIPs occur via higher order communication channels managed by the operating system. These rules are checked during the installation phase of the application, and must be fulfilled in order for Singularity to allow the installation (note: in Singularity, installation is managed by the operating system).

Most of the invariants rely on the use of safer memory-managed languages, such as C#, where a garbage collector is employed, there are no arbitrary pointers, and code can be verified to meet a certain policy.

  • Spec#, programming language, Eiffel-like design by contracts added to C#.
  • Sing#, programming language, channels and low level constructs added to Spec#, used for building singularity.
  • Inferno, an operating system from Bell Labs, some concepts of which Singularity uses.

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.