5 Replies - 8133 Views - Last Post: 08 December 2012 - 09:45 AM

Creating a Basic OS C++

Posted 06 December 2012 - 08:49 PM

Hey guys, I am a mid-level C++ programmer (still in High school but pretty good at it). I just got finished learning C++ GUIs and I am ready to take my programming to the next level. What are the basic requirements to creating a basic operating system? Like, what major pieces of code need to be in it to make it a virtual machine?

Replies To: Creating a Basic OS C++

Re: Creating a Basic OS C++

Posted 06 December 2012 - 08:59 PM

POPULAR

The defacto place to go for information on creating your own OS, is http://wiki.osdev.or...anded_Main_Page this has everything you need in one place to get started. This is not something that can be covered in a few posts. You need to do your own research, download opens source OS's and look at the code to see how it is done.

Writing your own OS is not something for the faint of heart, it takes time, time, time, and dedication.

Not too sure if this is a good project to take your programming to the next level. You need to learn A LOT, and I mean A LOT of internals to get everything to work. It won't hurt to learn a bit of Assembly for the boot loader and other things.

Re: Creating a Basic OS C++

Basically, if you are looking for something that will be good for you when it comes to programming, find something that interests you (though I strongly suggest getting used to socket and thread programming, as that will be quite common in most computer-related careers) and running with it. I have done a number of random projects for learning. Try creating a string class. Try making an IRC bot. Try making a web server. There are a TON of things you can make that will help you improve; but I don't believe an OS should be something you use as a learning exercise; it is far too hefty for that.

Re: Creating a Basic OS C++

Posted 08 December 2012 - 09:45 AM

Ya; I've done stuff with boot loaders and basic kernel functionality but the whole thing is much harder.

I think if I were to get back into I would just try for a kernel that had a command line shell interface and allowed running Lua scripts. It would use a virtual file system too; I wouldn't go to the trouble of implementing a file system just yet. This would still require that I have allocation and deallocation which would be tough in and of itself; not to mention a whole C run-time library too.