Nearly every true computer geek has, at some point, wanted to write an operating system. However, writing a custom kernel and other bits takes years of study, experience and patience. If you intend to keep your sanity, then the best course of action is to use someone else's code.

Cosmos*, or C# open source managed operating system, is a pre-made kernel that provides you with "OS legos" that allow you to quickly and easily create your own operating system.

You will need:

@ Microsoft Visual C# 2008.

@ A knowledge of the C# programming language (don't worry if you don't have this, it's a pretty easy language).

@ The Cosmos user kit (milestone 4).

Step 1: Getting the software

Let's do a run down of the necessary software mentioned earlier.

Microsoft Visual C# can be downloaded free if you get the express edition. You can download it at http://www.microsoft.com/express/downloads/ You can also download the entire Visual Studio including visual basic and visual c++ as an ISO image (these can be tricky, see below for details on reading ISO images). Even on a blazing fast computer, downloading visual studio will take two hours at most, though.

WARNING: make sure that you get the 2008 edition and not 2010. This may seem backwards, but the Cosmos user kit has yet to support 2010.

The cosmos user kit is the platform that we will write our OS in. It's an all-in-one micro-kernel operating system that is written in 100% C#. You can download it at http://cosmos.codeplex.com/releases/view/35194

A note about ISO images:

If you opted to download the entire visual studio, then you're going to need to read the ISO image file. An ISO image is a map of a virtual DVD, using the same encoding as any other disk. You have two option: Use a program like nero or roxio to burn the image to a CD-ROM then insert that disk into your computer and download it (The latest Windows XP comes with Roxio, and Windows 7 comes with Nero pre-installed. Other than that, you will almost certainly find something on your computer that will burn a CD. Explore a bit), or you can use Daemon tools lite edition to read the file directly.

Daemon tools lite is free and can be found at http://www.daemon-tools.cc/eng/downloads

A: After downloading it, running the setup program, and re-booting, fire up Daemon tools and click Add File (the picture of the CD with a plus sign).

B: Find the image, and open it.

C: Now, select the file and click Mount. A popup (see pic')  will show you some options, click "run setup.hta". This will install Visual Studio. Alternatively, you can find setup.hta in the virtual drive that was created, located in My Computer under Devices with removable storage.
<p>I am an enthusiast programmer and learned a lot of languages.</p><p>C#, VB, HTML, PAWN, PHP and so on..</p><p>I love to work on C# because it is too flexible and is nearly used everywhere.</p><p>I am making my own OS or most probably a prototype OS in Visual Studio using C#. I made a lot of progress and it looks too damn beautiful..believe me..to awesome..</p><p>I need some more people as all these years I have been working alone. Anyone interested then join me. New ideas will be appreciated too and designing too.<br>Thanks</p><p>-Ankon</p>
I want to join u will u help me in this pls mail me in papsdedtroyer@gmail.com
<p>I am doing the same exact thing! I love working with text-based systems and I made quite a few AI in my time (all of course using the all-flexible c#, with some c/c++ for intricate tasks). So yeah! </p><p>I'd love to join you in your efforts. you can email me at bksquared1024@gmail.com.</p><p>Sidenote: I just learned how to program several months ago; However I recently took the AP Computer Science C exam and did not take the class (essentially I self-studied for it). I have a good understanding of console-side programming (and pretty good at file I/O, and even then I'll still be happy to do some debugging to help) and I am beginning to learn WPF and graphical programming with c# (part of my Unity3d learning course).</p><p>Anyways (sorry for rambling), I'd be happy to join your team.</p><p>-BKSQUARED</p>
<p>Hey man! Finally found a man like you ! I am really interested in this work.I would really love to work with you.Kindly let me work with you.We shall gain succes together.thanks</p><p>my email;fazi.fazi76@gmail.com</p>
I am cpu architect. My google plus is BABY NINJA. ninjabebe9@gmail.com. <br><br>Good Design Goals. Focus on Automotive ECU<br><br>http://www.automotive-eetimes.com/news/ecu-operating-system-reduce-complexity-car
Can i use it on my voice command???
<p>Hey my name is Emir </p><p>i would like to help someone but the problem is that i am new with all those things </p><p>but i can tell you guys i can learn things using the web cause i would like t make own o.s. to </p><p>and you have to start somewhere right ?</p><p>so ???</p><p>gvtpro@gmail.com</p>
<p>does anyone got a link for Cosmo for 32 bit windows computers</p>
Friends I want to make a team .I have an idea<br>I am looking for a team <br>We should work together and make our new productions..<br>contct me<br>mammar1900@gmail.com<br>And Facebook. ..ammars6
<p>Hi, <br>This is Surya, I would like to be part of your team. I have experience in C but I haven't worked on C# . Anyway I have send a mail to you.. </p>
<p>Hey my name is paolo tolentino and i have plans that i think we can combine ? add me on facebook or follow me on twitter so we can talk about this!</p><p><a href="https://www.facebook.com/mike.tolentino.141" rel="nofollow">https://www.facebook.com/mike.tolentino.141</a></p><p>https://twitter.com/miketolentino30</p>
<p>even i am working on myidea. but alone </p><p>contact me on spdrakeshkumar@gmail.com</p>
<p>i was looking to make something like that , but i was thinking of making a console, i asked my one friend who works with nano-technology and he denied the request.</p><p>email: santosandrew123@gmail.com</p>
<p>Hi everybody, I have plan to make an operating system with newest technology: </p><p>Artificial intelligence: Devices using this OS can communicate with other devices and people like people communicate together.</p><p>Very Easy: Anyone can use it, from very young to very old with simpliest command.</p><p>Run on any device: Robot, smart armor, watch, mobile, compute, ring, home,...</p><p>And Cloud, IoT, AR,...</p><p>AI is core! And we'll make new programming language for this OS.</p><p>Some new hardware will coming with this OS too.</p><p>Contact me at: <a href="mailto:ozonspacing0602@gmail.com" rel="nofollow">ozonspacing0602@gmail.com</a> if you interested.</p><p>I need somebody known: Assembly, graphics, security, AI, hardware.</p>
<p>all do respect its a good idea but the coding for a aI as powerful as the human brain is impossible with current technology the human brain process's data at 200,000 ghz ( average person) the cooling system alone would cost more then all the money on the planet maybe someday this will be possible but sadly not any time soon</p>
<p>Hey guys, I'm really new to programming OS but is there a complete tutorial for C/C++ users to make an OS up to the build and boot, if not, it would be really nice. Also, I would like to join a team but as I said it, I'm a beginner and I just want to make it for personal use only.</p>
<p>Hello everybody!</p><p>I too wish to create a team or join a really good one.</p><p>Most important is that no matter what happens whether were rich or not lets have fun ok.</p><p>mohameddaelala@gmail.com</p>
<p>I sent you an Email. :)</p>
<p>Which programming language should be learned to build a complete operating system ??</p>
<p>Yeah and dont forget Assembly code!</p><p>Its needed for most os(s) :-P ?</p>
<p>C++ is the right thing to use, not C#. :D</p>
Hi im Chandler, i want to know how to code, i think it is cool but i have no experience but i have xcode on my mac and i want to know how to use visual c# i have never used it but i wish to know how so i can create my own company called OneType, the OS is called OneType too with different names so if you can teach me how just send me an email<br><br>MacBookuser.12345@gmail.com
can you also do this for android devices
<p>You can make an android ROM</p>
<p>anything like this for xcode or other compiler for OS X</p>
<p>xCode is an app development environment. You can use any code editor, and then a compiler, you should be able to use the compiler above but if you cant you can emulate a windows environment and then install, or just search for a mac compiler</p>
Hello!<br> My name is Michael, I am currently making an operating system and I am looking for others who are interested in joining me. Here is my email address miketony.ma@gmail.com<br>
Hello michael....<br>Hi<br>
hello all operating system based with linux in 2025era comes cant beat android other os after i think 1 operating system is comes together link with new mobile manfacturing company like today samsung android like that.
<p>hey thx</p>
<p>Hey guys I am Kshitij from INDIA join me on facebook i want to create a team <br>my profile https://www.facebook.com/kshitij.500</p>
<p>I would love to join your team. i do not have a facebook but i have a bitmessage - <a href="mailto:BM-2cTrcTFHbiU6nbWUGm82CdQXfbMtuaaHyq@bitmessage.ch" rel="nofollow">BM-2cTrcTFHbiU6nbWUGm82CdQXfbMtuaaHyq@bitmessage.ch</a></p>
<p>Yes I love the ideas put forward by you guys all. In fact I will be amazed if you are all able to built an OS with those feature mentioned above. But that is easy said than done. Making an OS require a lot of experience in OS internals and not just being able to do programming. Programming is one thing and making an OS is another thing all together. If you want to make an OS, I will advice you start learning about hardware (deep understanding), OS internals (behavior, requirements, tools needed) - the software part. You will also have to learn deep about the libraries used in making the programming language you want to use and its runtime since you will implement them again in your OS. </p><p>I also have ideas about making an OS with feature I have also taught of, using the &quot;<em><a href="http://dlang.org" rel="nofollow">D programming language</a></em>&quot;. But I know I will have to do a lot of research before I start to even plan.</p><p>Anyway, you can contact me and we will talk more about OS development. I love great ideas but the requirement is <em>commitment.</em></p><p>Facebook: <strong><a href="https://www.facebook.com/aberbalawrence" rel="nofollow">my profile</a> </strong></p><p><strong>You can Also join my page: <a href="https://www.facebook.com/pages/Self-Thought/1479644155623913" rel="nofollow">Self Thought</a></strong></p>
<p>Is it easier to Develop an OS from UNIX </p>
<p>Nice tutorial, could you make one that uses VB.NET instead of VC#.NET?</p>
Alrighty, so I am trying to use Visual C# 2010 Express with the newest version of Cosmos. So it works, but when I build it, I get an error. And that's with the default code! I did add refrences to Cosmos.Hardware and all that and it still doesn't work! The error is about Cosmos.Hardware.Hardware... cant find it? Do you know of any way to fix this? If I use MS4 is 2008 Express, it works like a charm. But I want to use the newest version! Any ideas? Also, thanks for a great tutorial! It helped a lot! :)
no one is gonna help me huh?? hmmm...
<p>I don't think there is any way, unless there has been a recently released update...</p>

About This Instructable




Bio: What's to say? A student, a writer, a builder, all the many hats of which I don. A person is not a person until ... More »
More by dungeon runner:Create your own operating system!PAPER GAMING: Pencil warsPAPER GAMING: Sprouts
Add instructable to: