Microsoft Singularity

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 11 iunie 2020; verificările necesită 10 modificări .
Singularitate
Dezvoltator Microsoft
Familia OS Windows NT
Bazat pe Windows-mi
Prima editie 18 septembrie 2004
ultima versiune 2.1 (12 aprilie 2007)
Platforme acceptate x86
Tipul de kernel microkernel
Licență GPL (fostă licență de cercetare Microsoft)
Stat dezvoltarea s-a oprit
site web microsoft.com/en-us/rese…

Singularity  este un proiect început în 2003 de divizia de cercetare a Microsoft pentru a crea un sistem de operare foarte sigur în care microkernel-ul , driverele de dispozitiv și aplicațiile sunt scrise în cod gestionat .

O caracteristică distinctivă a acestui sistem de operare este utilizarea ideologiei proceselor izolate de software (Software Isolated Processes, SIP), similare proceselor ușoare ale limbajului Erlang , comunicarea între care are loc exclusiv prin intermediul mesajelor. Spre deosebire de sistemele de operare tradiționale, protecția unor astfel de procese în Singularity nu se realizează prin organizarea spațiilor de adrese protejate de hardware, ci prin utilizarea unui subset tip sigur al limbajului intermediar ( MSIL ) și verificarea acestuia înainte de a-l compila în codul nativ al procesorului. Fiecare SIP are propriul său spațiu obiect, colector de gunoi și mediu de rulare. Astfel de procese nu au voie să partajeze memorie și nu au capacitatea de a-și modifica codul, ceea ce sporește fiabilitatea programului în SIP.

Codul de gestionare a întreruperilor x86 de nivel scăzut este scris în limbaj de asamblare și C. Bibliotecile runtime ( eng.  runtime ) și garbage collector sunt scrise în Sing# (un dialect C# modificat special pentru acest proiect ) folosind modul nesigur ( eng.  unsafe mode ). Există, de asemenea, un cod C folosit în scopuri de depanare. BIOS -ul computerului este apelat numai în timpul fazei de pornire în modul real pe 16 biți al procesorului . După trecerea la modul pe 32 de biți, BIOS-ul nu este invocat din nou, în schimb driverele scrise în Sing# sunt folosite . Când nucleul este instalat, codurile operaționale CIL sunt compilate în instrucțiuni x86 folosind compilatorul Bartok .

Bartok [1]  este un proiect de cercetare pentru a construi un compilator de optimizare de la CIL la x86 în C#.

Singularity 1.0 a fost finalizat în 2007. Kitul de dezvoltare a cercetării Singularity 1.1 (RDK) a fost lansat sub o licență sursă partajată și este deschis utilizării academice, necomerciale; pachetul este disponibil pe CodePlex . Pe 14 noiembrie 2008, Singularity RDK 2.0 a fost lansat. Dezvoltarea ulterioară a fost întreruptă.

Codul și instrumentele Singularity sunt disponibile pentru a fi explorate și utilizate la CodePlex Arhivat 31 martie 2021 la Wayback Machine .

Vezi și

Link -uri