Frequently Asked Questions
What does Cosmos stand for?
Officially is it the C# Open Source Managed Operating System
, but we just go by Cosmos.
In fact, the name Cosmos was chosen before any meaning was attributed to it. Later we decided by chance what the letters stood for. Thus it is also Cosmos, and not COSMOS or CosmOS.
And besides, VBOSMOS sounds stupid.
Can I code in something besides C#?
Yes. Despite C# being in the Cosmos name, any .NET language can be used including Visual Basic.NET, F#, Delphi Chrome and more.
The C# refers to what we use to build Cosmos itself and is simply our personal preference of language.
Can I use Visual Studio Express?
The user kit supports Visual Studio Express. To build the Dev Kit, Visual Studio Professional or higher must be used. See Using Visual Studio Express
Can I run on something besides VMWare?
Yes. Cosmos runs on real hardware (and you can debug wtih a serial cable) as well as Vitual PC, HyperV, Virual Box and others. See Deployment
Does Cosmos support Mono?
We supported Mono in the past and will again in the future. Currently Mono support is disabled merely as a way to focus our limited resources as Mono requires a different set of plugs.
What processors does Cosmos support?
Cosmos currently only runs on x86 and x64 processors. It has the capability to run on ARM and other processors as well but currently only Intel is supported.
Does Cosmos support graphics? Networking? etc?
Users have produced demos that use basic networking and graphics, but the core team is still focused on kernel and debugger. When we have the foundation built to a sufficient level the core team will integrate the work of users into Cosmos itself.
I'm getting an error about a plug. What can I do?
Please see Plugs
How is Cosmos licensed?
Cosmos is licensed under the New BSD license. Please see http://cosmos.codeplex.com/license
Who develops Cosmos?
Some crazy eccentric developers.
Can I use Visual Basic.NET? Ruby? Other
Cosmos is actually not tied to C#, despite C# being part of the name. Cosmos will work with any .NET language that compiles to pure IL without P/Invokes.
Why develop Cosmos?
Primarily because it's fun. But beyond that, how else can you boot .NET on a floppy or small USB stick? Who else will try to put .NET on the Wii, OLPC, and iPhone?
We are also developing a TCP/IP stack. Imagine instead of deploying half a dozen virtualized OS's, deploying many dozens of dedicated OS's. One that only does DNS, a few that only do HTTP, etc. One instance, one function.
What is the Project Vision?
World domination of course, but until we achieve that our goals are:
- A reliable OS which never hangs (of course until hardware fails). Whichever program crashes, the OS should never hang or go unresponsive.
- Very safe (Safe in the sense which is free from buffer overflows,heap overflows,exploits etc.)
- Drivers and programs being able to be verifiable/tested. Even the Kernel should be verifiable at a later stage (maybe using TALx86)
- The LINUX of tomorrow.
How does Cosmos compare to Singularity?
Cosmos and Singularity have a lot in common. Singularity however is only a research project to determine usefulness of pieces that might later be used in .NET and or future versions of Windows. Singularity itself is not intended to ship as a Microsoft supported operating system. In March 2008 Singularity was released to the public on CodePlex. However the license is for academic use only and thus differs greatly from the goals of Cosmos. Developers of Cosmos should not look at Singularity source
to avoid contaminating Cosmos and violating the Singularity license.
If you have looked at Singularity the past, you are welcome to develop on Cosmos however you must be careful not to use your knowledge of Singularity. Unless you were involved deeply into Singularity code this will likely not be a problem. If you are concerned about this, choose purposefully to develop in a different area of functionality in Cosmos.
How does Cosmos compare to the .NET Micro Framework?
The .NET Micro Framework targets tiny devices and is interpreted. Cosmos targets both large and low resource machines and is compiled.
Can Cosmos be developed using 64 bit Windows?
Yes. Many of the developers on the team are using 64 bit Windows.
What version of Visual Studio can I use to develop Cosmos?
Currently we only support Visual Studio 2010. However, older versions, such as Milestone 4, do support Visual Studio 2008. Visual Studio 2010 Express is free so there is not need to support Visual Studio 2008 further.
Your website sucks! Can I help?
Yes of course. But you must use OUR CMS. Every few weeks someone offers to webmaster and convert it to their favourite CMS or web language. Then they often disappear leaving it with us again... So because we always end up with the bag, and wish to do at least minor updates as well, we decide the web system to us. Otherwise yes, webmaster away!
Console apps mostly for now. When we have more of the foundational pieces we will move to graphics.
What is the Dev Kit?
The dev kit is the source code for Cosmos. You can download it from the Source Code tab to take a look or even install it. See Building Dev Kit
for information on how to install it
What is X#?
The goal is that Cosmos developers will never need to write assembly language. However a few of us working in the compiler and debugger areas must work with assembly language. To ease our task we have developed a HLA (High level assembler) which uses a language called X#.