Singularitet (operativsystem) - Singularity (operating system)
Udvikler | Microsoft Corporation |
---|---|
Skrevet i | Samlingssprog , C , C ++ , C # , Sing # |
OS-familie | Sprogbaserede systemer |
Arbejdsstat | Udgået |
Kildemodel | Kilde tilgængelig (via Shared Source Initiative ) |
Første udgivelse | 2007 |
Endelig frigivelse | 2.0 / 14. november 2008 |
Tilgængelig i | engelsk |
Platforme | x86 |
kernel typen | Mikrokernen sprog-baserede |
Standard brugergrænseflade | Kommandolinjegrænseflade |
Licens | Microsoft Research License |
Officiel hjemmeside | research |
Singularity er et eksperimentelt operativsystem (OS), der blev bygget af Microsoft Research mellem 2003 og 2010. Det blev designet som et højt pålideligt OS, hvor kernen , enhedsdrivere og applikationssoftware alle var skrevet i administreret kode . Intern sikkerhed bruger typen sikkerhed i stedet for hardware beskyttelse hukommelse .
Operation
Det laveste niveau x86 interrupt forsendelse kode er skrevet i assembler og C . Når denne kode har gjort sit job, påkalder den kernen, hvilket runtime-system og affaldssamler er skrevet i Sing # (en udvidet version af Spec # , selv en udvidelse af C # ) og kører i ubeskyttet tilstand. Det Hardware Abstraction Layer er skrevet i C ++ og kører i beskyttet tilstand. Der er også noget C-kode til håndtering af fejlfinding. Computers grundlæggende input / output-system ( BIOS ) påberåbes under 16-bit real-mode bootstrap-fasen; en gang i 32-bit- tilstand påkalder Singularity aldrig BIOS igen, men påberåber enhedsdrivere skrevet i Sing # . Under installationen bliver Common Intermediate Language (CIL) opcodes samlet til x86 opcodes ved hjælp af Bartok-kompilatoren .
Sikkerhedsdesign
Singularitet er et microkernel- operativsystem. I modsætning til de fleste historiske mikrokerner udføres dets komponenter i det samme adresserum ( proces ), som indeholder software-isolerede processer (SIP'er). Hver SIP har sine egne data- og kodelayout og er uafhængig af andre SIP'er. Disse SIP'er opfører sig som normale processer, men undgår omkostningerne ved task-switches.
Beskyttelse i dette system leveres af et sæt regler kaldet invarianter , der verificeres ved statisk programanalyse . For eksempel må der i hukommelses-invariante tilstande ikke være krydsreferencer (eller hukommelsespegere) mellem to SIP'er; kommunikation mellem SIP'er sker via kommunikationskanaler af højere orden, der administreres af operativsystemet. Invarianter kontrolleres under installationen af applikationen. (I Singularity styres installationen af operativsystemet.)
De fleste af invarianterne er afhængige af brugen af mere sikre hukommelsesstyrede sprog, såsom Sing #, som har en affaldssamler , tillader ingen vilkårlige henvisninger og tillader kode at blive verificeret for at overholde en given computersikkerhedspolitik .
Projektstatus
Singularity 1.0 blev afsluttet i 2007. Et Singularity Research Development Kit (RDK) blev frigivet under en delt kildelicens , der tillader akademisk ikke-kommerciel brug, og er tilgængelig fra CodePlex . Version 1.1 blev udgivet i marts 2007, og version 2.0 blev udgivet den 14. november 2008.
Lignende projekter
- Inferno , oprettet først i 1995, baseret på Plan 9 fra Bell Labs . Programmer køres i en virtuel maskine og skrives i Limbo i stedet for C # med CIL.
- JavaOS , et ældre operativsystem baseret på det samme koncept som Singularity.
- JNode, et operativsystem, der ligner konceptet med Singularity, men med Java i stedet for C # med CIL.
- JX , en Java OS, der, ligesom Singularity, bruger typen sikkerhed i stedet for hardware beskyttelse hukommelse .
- Phantom OS , et administreret OS.
- SharpOS , en tidligere open source- indsats for at skrive et operativsystem ved hjælp af C #.
- MOSA, en .NET Framework- kompilator og et operativsystem, der bruger C #.
- Cosmos , en open source- byggesten, værktøjskasse til udvikling af et operativsystem ved hjælp af C #
- TempleOS , et open source ring-0-operativsystem med JIT-compiler.
Se også
- Sprogbaseret system , generelt kernedesign ved hjælp af sprogbaseret beskyttelse i stedet for hardwarebeskyttelse.
- Spec # , programmeringssprog afledt af C # ved at tilføje Eiffel- lignende design efter kontrakt .
- Sing # , programmeringssprog afledt af Spec # ved at tilføje kanaler og konstruktioner på lavt niveau; brugt til at opbygge singularitet.
- Midori , et Microsoft-udviklet mikrokernel-baseret operativsystem, der blev udråbt som en mulig efterfølger til Microsoft Windows af nogle medlemmer af IT-pressen. Baseret på og relateret til singularitet.
Referencer
eksterne links
- Officiel hjemmeside
- Singularity Design Motivation og en oversigt over Singularity Project
- Kildekode til singularitet på CodePlex
- Singularitet: Et forsknings-OS skrevet i C # et interview med Channel 9-teamet til Jim Larus og Galen Hunt (video og tråd)
- Singularity III: Revenge of the SIP , et interview med Channel 9-teamet til 3 forskere fra Singularity Project Team (video og tråd).
- Singularity IV: Return of UI , en demo af Singularity, der faktisk kører (video og tråd).
- Singularity Revisited , et interview med Channel 9-teamet til 4 forskere fra Singularity Project Team (video og tråd)