Cosmos: An open-source .Net-based microkernel OS is born
by Carlos Pinho, February 7th, 2008
  • Share
  • Share

CosmosCosmos (C# Open Source Managed Operating System) is an operating system project implemented completely in CIL compliant languages. The team is committed to using C#, however any .NET language is usable.

Why Cosmos?

Firstly because its fun! But there are many scenarios to use Cosmos in real world applications.

Milestone 1 Release

Build your own shell, build and deploy in 30 seconds or less! See for yourself. The basic steps are:

  1. Install Cosmos user kit
  2. File, New, Cosmos Boot project from within Visual Studio.
  3. Modify the entry point. The default project has just a WriteLine.
  4. Run (F5). Cosmos will now build a boot disk and ask you what emulator to use. Press 3 to use included QEMU, or choose from VMWare, ISO, PXE and more!

That is all you need to do! User kit tutorial.

Design Overview

  • Completely .NET based.
  • Microkernel or close hybrid
  • Configurable using modules
  • Cross platform architecture

Emulation

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.

How does Cosmos work?

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.

New Users

If you just want to play with Cosmos:

  1. Install the user kit.
  2. Join the discussion list

Other resources:

  1. Read the FAQ.
  2. Subscribe to the Cosmos Blog
  3. Documentation – Most developer documentation right now.

If you are interested in kernel development:

  1. Get source from CodePlex
  2. Read the full requirements. They are pretty basic though, and everything you need except for Windows (For development) is free.
  3. Read Getting Started
Copy and Paste the code below
Email and IM
Websites
Forums
Get This

No Responses to “Cosmos: An open-source .Net-based microkernel OS is born”

  1. Bruce Says:

    Yup, and if you want to check out something slightly cooler, take a peek at the SharpOS project – http://www.sharpos.org/ , or visit us at #sharpos on Freenode.

Let leave a Comments for this post.