Singularity è un progetto di Microsoft Research per costruire un sistema operativo microkernel altamente affidabile in cui il kernel, i driver di dispositivo e le applicazioni sono tutti scritti in codice gestito. Più del 90% del kernel del sistema operativo è scritto in Sing#, un'estensione del linguaggio di programmazione di alto livello C#.
Singolarità della ricerca Microsoft
Singularity è un progetto di ricerca incentrato sulla costruzione di sistemi affidabili attraverso l'innovazione nelle aree dei sistemi, dei linguaggi e degli strumenti. Stiamo costruendo un prototipo di sistema operativo di ricerca (chiamato Singularity), estendendo i linguaggi di programmazione e sviluppando nuove tecniche e strumenti per specificare e verificare il comportamento del programma.
I progressi nei linguaggi, nei compilatori e negli strumenti aprono la possibilità di migliorare significativamente il software. Ad esempio, Singularity utilizza linguaggi type-safe e un set di istruzioni astratte per abilitare quelli che chiamiamo Software Isolated Processes (SIP). I SIP forniscono le forti garanzie di isolamento dei processi del sistema operativo (spazio oggetti isolato, GC separati, runtime separati) senza il sovraccarico dei domini di protezione applicati dall'hardware. Nell'attuale prototipo di Singularity i SIP sono estremamente economici; corrono nell'anello 0 nello spazio degli indirizzi del kernel.
Singularity usa questi progressi per costruire sistemi e applicazioni più affidabili. Ad esempio, poiché i SIP sono così economici da creare e applicare, Singularity esegue ogni programma, driver di dispositivo o estensione di sistema nel proprio SIP. I SIP non possono condividere la memoria o modificare il proprio codice. Di conseguenza, possiamo fornire solide garanzie di affidabilità sul codice in esecuzione in un SIP. Possiamo verificare proprietà molto più ampie su un SIP in fase di compilazione o installazione rispetto a quanto può essere fatto per il codice in esecuzione nei processi del sistema operativo tradizionale. Un'applicazione più ampia della verifica statica è fondamentale per prevedere il comportamento del sistema e fornire agli utenti solide garanzie di affidabilità.
Microsoft Research ha reso disponibile per il download, il Kit di sviluppo della ricerca sulla singolarità (RDK). Puoi scaricarlo da CodePlex, il sito Web di hosting del progetto di codice open source di Microsoft. Puoi anche scaricare Panoramica del progetto di singolarità, facendo clic qui.
I principali sviluppatori di Singularity, Galen Hunt e Jim Larus, hanno affermato che tutti gli attuali sistemi operativi come Windows, Linux e Mac OS possono essere ricondotti a un sistema operativo chiamato Multics, che ha le sue origini negli anni '60. In effetti, gli attuali sistemi operativi sono ancora basati, in parte, su pensieri e criteri di 40 anni fa.Multiplexed Information and Computing Service, o Multics, è un sistema operativo di timesharing mainframe iniziato nel 1965 e utilizzato fino al 2000.
Microsoft Research Singularity è stato considerato nel 2003 come un approccio totalmente nuovo alla creazione di sistemi operativi.