A managed OS

We have ever heard about singularity the Microsoft project to make an OS in managed language. Most is done in managed mode but some part are done in asm.

And now, we have 2 projects in open source which try to make it all in manged way SharpOS and Cosmos

Both project have succeed to boot with virtual machine.

Cosmos have made a compiler which convert the IL(intermediate language) code in assembler code. So code is compile just in time but ahead of time. (The mono compiler can ever done it). I do not know if there are differences between mono AOT and Cosmos one…

SharpOS use another way. They build a PE file with MultiBoot header.

SharpOS have a great documentation to explain how it work, especially on boot time.

If you want to learned how work an OS there is another good project named SOS for Simple OS (fork from KOS) which is lead by a French Linux magazine. This is in C/C++ but you have a lot of documentation which come from articles in the magazine freely available. All article are in french but it can help if you want to help SharpOS or Cosmos and know nothing about kernel.


This entry was posted in .NET. Bookmark the permalink.

3 Responses to A managed OS

  1. Darx Kies says:


    I am one of the SharpOS Devs.

    First of all the names are SharpOS and Cosmos.

    And SharpOS doesn’t generate assembler code but a PE file with a MultiBoot header. Cosmos is generating assembler code that gets compiled using Nasm.

    Anyone who is interested in SharpOS can join us on FreeNode in #SharpOS.

  2. duff says:


    I have fix the the post. Thanks for warning me…

    I have switch to linux only since 6 month. I do not paid attention to the case. 😉

    I do not know what is a PE file… wikipedia help me a bit to understand what it is… But, I have always think that the only low level is assembler…

  3. Phil says:

    Check out the MOSA Project (www.mosa-project.org).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s