Cosmos: un nuovo microkernel è nato

Cosmos: un nuovo microkernel è nato

Alcuni sviluppatori hanno dato vita ad un nuovo progetto di sistema operativo basato interamente su managed code

di pubblicata il , alle 15:29 nel canale Sistemi Operativi
 

Alcuni 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.

Resta aggiornato sulle ultime offerte

Ricevi comodamente via email le segnalazioni della redazione di Hardware Upgrade sui prodotti tecnologici in offerta più interessanti per te

Quando invii il modulo, controlla la tua inbox per confermare l'iscrizione

39 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
frankie07 Febbraio 2008, 15:34 #1
Cosa cambia tra licenza BSD e GPL?
AnonimoVeneziano07 Febbraio 2008, 15:38 #2
Originariamente inviato da: frankie
Cosa cambia tra licenza BSD e GPL?



La 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
jappilas07 Febbraio 2008, 15:38 #3
la licenza BSD è liberale, nel senso che è permesso qualunque uso del SW e del codice sorgente da cui è prodotto, senza imporre restrizioni di nessun tipo, nemmeno sui cosiddetti lavori derivati realizzati a partire da quel SW o traendo spunto da quel SW
( 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
themac07 Febbraio 2008, 15:45 #4

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
djbill07 Febbraio 2008, 15:55 #5
Certamente ha molto in comune con Singularity. Ma a differenza di quest'ultimo, Cosmos è completamente pubblico ed è disponibile il 100% del suo codice sorgente.


...con questo molto in comune vuol dire che c'è del codice sorgente uguale da entrambe le parti?
ottoking07 Febbraio 2008, 16:04 #6

Strano !!

Originariamente inviato da: djbill
...con questo molto in comune vuol dire che c'è del codice sorgente uguale da entrambe le parti?


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
Kralizek07 Febbraio 2008, 16:05 #7
>> Io sono un dipendente a tempo pieno e sono tuttora estremamente coinvolto nelle attività di Microsoft

questo per chi diceva che gli sviluppatori MS non fossero capaci...
djlooka07 Febbraio 2008, 16:10 #8
sperimentare Cosmos su diversi dispositivi: Wii

Cosmos gira solo su sistemi con architettura x86


Ma il Wii non ha un'architettura PowerPC?
Mercuri007 Febbraio 2008, 16:13 #9
Simpatica la cosa!

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.
DevilsAdvocate07 Febbraio 2008, 16:14 #10
Wow, un intero kernel tutto scritto in C# , e Microsoft non ha neanche
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".

La discussione è consultabile anche qui, sul forum.
 
^