Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Singularity (operating system)

From Wikipedia, the free encyclopedia
Experimental operating system from Microsoft Research
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Singularity" operating system – news ·newspapers ·books ·scholar ·JSTOR
(August 2011) (Learn how and when to remove this message)
Operating system
Singularity Project
Singularity after boot-up
DeveloperMicrosoft Research (Microsoft Corporation)
Written inAssembly language,C,C++,C#, Sing#
OS familyLanguage-based systems
Working stateDiscontinued
Source modelSource-available (throughShared Source Initiative)
Initial releaseMarch 4, 2008; 17 years ago (2008-03-04)[1]
Final release2.0 / November 14, 2008; 17 years ago (2008-11-14)
Available inEnglish
Supported platformsx86,x86-64[2]
Kernel typeMicrokernellanguage-based
Default
user interface
Command-line interface
LicenseMicrosoft Research License
Official websiteresearch.microsoft.com/en-us/projects/singularity

Singularity is an experimentaloperating system developed byMicrosoft Research between July 9, 2003,[3] and February 7, 2015.[4] It was designed as a highdependability OS in which thekernel,device drivers, andapplication software were all written inmanaged code. Internal security usestype safety instead ofhardwarememory protection.

Operation

[edit]

The lowest-levelx86interrupt dispatch code is written inassembly language andC. Once this code has done its job, it invokes the kernel, where theruntime system andgarbage collector are written in Sing Sharp (Sing#) (an extended version of Spec Sharp (Spec#), itself an extension ofC#) and runs in unprotected mode.[5]: 14 [6]: 4  Thehardware abstraction layer is written inC++ and runs in protected mode. There is also some C code to handle debugging. The computer's basic input/output system (BIOS) is invoked during the 16-bitreal mode bootstrap stage; once in32-bit mode, Singularity never invokes the BIOS again, but invokes device drivers written in Sing#. During installation,Common Intermediate Language (CIL)opcodes are compiled into x86 opcodes using theBartok compiler.[6]: 11 

Security design

[edit]

Singularity is amicrokernel operating system. Unlike most historic microkernels, its components execute in the sameaddress space (process), which containssoftware-isolated processes (SIPs). Each SIP has its own data and code layout, and is independent from other SIPs. These SIPs behave like normal processes, but avoid the cost of task-switches.[5]: 4,11,35 

Protection in this system is provided by a set of rules calledinvariants that are verified bystatic program analysis. For example, in the memory-invariant states there must be no cross-references (or memory pointers) between two SIPs; communication between SIPs occurs via higher-order communication channels managed by the operating system. Invariants are checked during installation of the application. (In Singularity, installation is managed by the operating system.)[citation needed]

Most of the invariants rely on the use of safermemory-managed languages, such as Sing#, which have agarbage collector, allow no arbitrary pointers, and allow code to be verified to meet a givencomputer security policy.[citation needed]

Project status

[edit]

The first Singularity Research Development Kit (RDK), RDK 1.1, was initially released on March 4, 2008,[1] being released under ashared source license allowing academic non-commercial use and available fromCodePlex.[7] RDK 2.0 was later released on November 14, 2008.[2]

Similar projects

[edit]
  • Inferno, first created in 1995, based onPlan 9 from Bell Labs; programs are run in a virtual machine and written inLimbo instead of C# with CIL; open-source software.
  • JNode, an OS similar in concept to Singularity, but usingJava instead of C# with CIL.
  • MOSA, a.NET Framework compiler and operating system using C#
  • TempleOS, aring-0 operating system with JIT compiler; open-source software.

References

[edit]
  1. ^ab"Singularity RDK 1.1".CodePlex. Archived fromthe original on May 4, 2009. RetrievedJanuary 16, 2022.
  2. ^ab"Singularity RDK 2.0 Initial Release (17067)".CodePlex. November 14, 2008. Archived fromthe original on December 6, 2008. RetrievedJanuary 16, 2022.
  3. ^"Singularity".Microsoft. RetrievedJanuary 16, 2022.
  4. ^"Singularity RDK".CodePlex. Archived fromthe original on January 2, 2018. RetrievedJanuary 16, 2022.
  5. ^ab"An Overview of the Singularity Project"(PDF). Microsoft. RetrievedJanuary 16, 2022.
  6. ^abHunt, Galen; Larus, James."Singularity: Rethinking the Software Stack"(PDF).Microsoft. Microsoft Research Redmond. RetrievedJanuary 16, 2022.
  7. ^Ricciuti, Mike (March 5, 2008)."Is Microsoft's 'Singularity' the OS of the future?".CNET. RetrievedJanuary 16, 2022.

External links

[edit]
Operating systems by Microsoft
Desktop / Server
Mobile
Embedded / IoT
Network
Others
General
Variants
Kernel
Architectures
Components
Process management
Concepts
Scheduling
algorithms
Memory management,
resource protection
Storage access,
file systems
Supporting concepts
Kernels
L4 family
Macintosh hosted
Psion
Amiga-type
Operating
systems
POSIX support
Unix-like
Partial
Capability-based
L4 kernel
Java virtual machine
Macintosh hosted
Unix-like
Psion
  • EPOCSymbian OS
  • Amiga-type
    Microsoft
    AIM alliance
    Frameworks,kits
    Developers
    Main
    projects
    Languages, compilers
    Distributedgrid computing
    Internet,networking
    Other projects
    Operating systems
    APIs
    Launched as products
    MSR Labs
    applied
    research
    Live Labs
    Current
    Discontinued
    FUSE Labs
    Other labs
    Retrieved from "https://en.wikipedia.org/w/index.php?title=Singularity_(operating_system)&oldid=1322867228"
    Categories:
    Hidden categories:

    [8]ページ先頭

    ©2009-2026 Movatter.jp