Cosmos: un nuovo microkernel è nato

Alcuni sviluppatori hanno dato vita ad un nuovo progetto di sistema operativo basato interamente su managed code
di Fabio Gozzo pubblicata il 07 Febbraio 2008, alle 15:29 nel canale Sistemi OperativiAlcuni sviluppatori di Microsoft hanno dato vita al progetto di un nuovo sistema operativo implementato completamente in linguaggio .NET. Cosmos, questo il nome scelto dagli sviluppatori per il microkernel, è l'acronimo di C# Open Source Managed Operating System. Come si evince facilmente dal nome, Cosmos è scritto in linguaggio C#, inoltre, è distribuito sotto la licenza open source BSD.
Fonte immagine: channel8.msdn.com
Chad Kudzu, padre di Cosmos, tiene a sottolineare che si tratta di un progetto completamente indipendente da Microsoft, a differenza di Singularity - altro progetto di sistema operativo scritto in managed code realizzato dal gruppo di ricerca della compagnia di Redmond.
Il motto di Cosmos è "Cosmos signifies everything that is important in Operating System: Universalization, Security and Simplicity". Non si tratta di qualcosa paragonabile a Windows o Mac OS X: è un sistema operativo indirizzato ad ambiti specifici. Nelle FAQ presenti sul sito vengono illustrati alcuni scenari d'uso possibili: per divertirsi a programmare, per realizzare un sistema dedicato ad una singola operazione specifica oppure per sviluppare sistemi embedded destinati a piattaforme particolari.
Grazie alla facilità con cui può essere portato da una piattaforma all'altra, il team di sviluppo sta pensando di sperimentare Cosmos su diversi dispositivi: Wii, iPhone e OLPC sono solo alcuni dei probabili futuri ambiti di utilizzo. Ad ogni modo, attualmente Cosmos gira solo su sistemi con architettura x86.
Di seguito riportiamo una breve intervista realizzata da Mary Jo Foley a Kudzu tramite e-mail:
MJF: Che cos'è Cosmos?
Kudzu: Cosmos (Ha solo la C maiuscola, non è né COSMOS, né CosmOS) è
l'acronimo di C# Open Source Managed Operating System.
MJF: Come definiresti "in una frase" Cosmos?
Kudzu: Cosmos è un sistema composto da svariati "mattoncini" scritti
completamente in C# che consente agli sviluppatori di realizzare sistemi
operativi personalizzati, anche se si ha poca esperienza nel campo,
semplicemente creando un nuovo progetto in Visual Studio.
MJF: Cosmos ha qualcosa a che fare con il microkernel Singularity di
Microsoft?
Kudzu: Certamente ha molto in comune con Singularity. Ma a differenza di
quest'ultimo, Cosmos è completamente pubblico ed è disponibile il 100% del suo
codice sorgente. Chiunque può provarlo e partecipare allo sviluppo. Abbiamo
intenzione di portare Cosmos su altre piattaforme, cosi potremmo far girare
Cosmos su Wii, iPhone, ecc ecc...
MJF: Cosmos è un progetto open source ospitato nei repository di
Microsoft CodePlex. Come funziona in termini di indipendenza?
Kudzu: Cosmos è un progetto indipendente da Microsoft. Io sono un dipendente a
tempo pieno e sono tuttora estremamente coinvolto nelle attività di Microsoft,
dato che sono direttore regionale, ma Cosmos è indipendente. Cosmos è
distribuito sotto licenza BSD, cosi non ci dovrebbero essere problemi.... Siamo
liberi di supportare tutto ciò che vogliamo.
MJF: Cosmos è scritto interamente in managed code (come Singularity,
suppongo?)? Se si, perché avete fatto questa scelta?
Kudzu: Singularity attualmente ha alcune porzioni di codice scritte in C o C++.
Cosmos è al 100% sviluppato in C#. L'unico codice in assembly è quello generato
dal compilatore.
MJF: Microsoft sta aiutando o supportando il progetto in qualche modo?
Kudzu: Non attualmente. Il progetto è diventato pubblico solo molto di recente.
39 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoLa BSD è più permissiva permettendo a chiunque di usare il codice sorgente come meglio crede, anche per inserirlo in progetti proprietari, cosa che la GPL vieta obbligando l'utilizzatore a rilasciare il codice nel quale è stato usato codice precedentemente sotto licenza GPL in una licenza GPL compatibile.
Ciao
( a patto ovviamente di non attribuersene la paternità, eventualmente -c'è una clausola che fa la differenza tra varianti appunto a 4 e a 3 clausole della licenza "bsd" - menzionando espressamente l' autore del codice sorgente impiegato nella propria soluzione finale )
EDIT - ops, preceduto di poco
Cosmos comunque è interessante, perchè si pone come sistema operativo completamente virtualizzato, nel senso di impiegare una VM come runtime di più basso livello - al di sotto del kernel ( ma, dettaglio importante menzionato esplicitamente dagli autori nel whitepaper, non si tratterebbe di esecuzione sotto JIT, perchè il kernel verrebbe comunque compilato in codice nativo )
delegando in questo modo alla VM i meccanismi di protezione tra processi il sistema ( o meglio, la sua "immagine" di runtime) potrebbe girare in un' unico spazio di indirizzamento concreto, in questo modo eliminando quello che finora è stato il più grosso "drawback" dei sistemi a microkernel, cioè l' impatto prestazionale di un gran numero di context switch
Mi sfugge...
Ma per "portare" un OS che, in quanto scritto in C#, dovrebbe esistere nel framework .net, devo "portare" anche il framework stesso (vedi mono ?).Mi sfugge questa piccolezza !
P.S.
E comunque su wii e iphone ci credo solo se lo vedo
TheMac
...con questo molto in comune vuol dire che c'è del codice sorgente uguale da entrambe le parti?
Strano !!
lo penso anche io però c' è sotto qualcosa non penso che Microsoft permetta qualcosa del genere loro dicono che M$ non c' entra ma se è imparentato con singularity hanno portato del codice fuori da Redmond mooolto strano !! M$ avrà cmq le mani in pasta
questo per chi diceva che gli sviluppatori MS non fossero capaci...
Ma il Wii non ha un'architettura PowerPC?
Piccola nota: il codice è BSD, ma gira su piattaforma .NET
MS ha brevetti su .NET?
decisamente l'ambiguità codice opensource - brevetti prima o poi bisognerà affrontarla.
dovuto pagare per farselo programmare (fortunelli...)
a quando un bel kernel tutto scritto in csh ? o uno tutto in vba (il visual
basic di office, per i profani....)
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".