C# Open Source Managed Operating System
Welcome to the Cosmos home page. Cosmos is an operating system project implemented completely in CIL compliant languages. The team is committed to using C#, however any .NET language can be used.
July 25, 2010 - MS5 is almost here and includes full integration with the Visual Studio debugger. Until then try out Milestone 4! For more info, look the Cosmos blog for the story and Release Vault for the features.
Firstly because its fun! But there are many scenarios to use Cosmos in real world applications.
Build your own shell, build and deploy in 30 seconds or less! See for yourself. The basic steps are:
That is all you need to do! User kit tutorial.
Cosmos runs in QEMU, VMWare, and VirtualPC. QEMU is best for debugging as it has extra debugging support which we use to integrate with GDB.
Cosmos includes a compiler (IL2CPU, which is part of Cosmos) that reads the input file (usually the shell) and Cosmos libraries and compiles the resulting IL to x86 code. IL2CPU has a layer for cross platform and we plan to support other processors and platforms, including x64. IL2CPU also supports certain extension methods which allow C# code to interact directly with the CPU, registers, and ports in the kernel. IL2CPU contains some inline assembler, but there are no ASM files that need to be linked in.
Currently IL2CPU first outputs raw asm files (with IL comments) and then processes them through nasm (a free assembler). Later we plan to emit directly to binary.
For more information with pretty pictures please read this article at CodeProject.
If you just want to play with Cosmos:
Other resources: