Singularitet (operativsystem) - Singularity (operating system)

Singularitetsprojekt
Singularitet v1.png
Singularitet efter opstart
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 ; 14 år siden  ( 2007 )
Endelig frigivelse 2.0 / 14. november 2008 ; 12 år siden  ( 2008-11-14 )
Tilgængelig i engelsk
Platforme x86
kernel typen Mikrokernen sprog-baserede
Standard brugergrænseflade Kommandolinjegrænseflade
Licens Microsoft Research License
Officiel hjemmeside research .microsoft .com / da-os / projekter / singularitet

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

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