Page 1 of 1
Creating an OS... But REALLY basic?
Posted: Sat Feb 27, 2010 7:57 am
by MinatureCookie
Hey,
For a project me and 2 friends were going to create a gaming console. Hardware and the actual games, we're fine with. But for running the actual game, I was thinking the best way to do it would be to create an operating-system for the hardware we create.
This wouldn't be anything fancy, I'm literally talking booting it up, and running the game's C, or C# or C++ (haven't decided on a language yet, I imagine one of those would be easiest).
Now I know even this won't be easy, but what I'm writing here to ask is... Just HOW hard is this going to be?
Cheers,
Stephen
Re: Creating an OS... But REALLY basic?
Posted: Sat Feb 27, 2010 8:48 am
by Combuster
If you want simplicity, forget about C#
It will still be a big task - you'll still have to write drivers for every component in your system - CPU, video, audio, input, storage and more - and a subset of kernel components like physical memory management, and possibly multithreading (but not process management. You probably want to have some standard interface, so you have to work to write a C runtime, C++ runtime, C library and C++ library. Essentially all the interfaces windows normally provides for you you'll have to do on your own.
Re: Creating an OS... But REALLY basic?
Posted: Sat Feb 27, 2010 11:08 am
by MinatureCookie
Yeah, I was worried it was still going to big.
All that you've described, just how hard will that be to do? The time-set we have for this project is basically a year's worth of free-time... I mean, I'm up for a challenge - but if you say it's not possible within that time-frame then I'll look for another option... Like a pre-made OS that runs C, that we can just customise.
Re: Creating an OS... But REALLY basic?
Posted: Sat Feb 27, 2010 12:34 pm
by Creature
MinatureCookie wrote:Yeah, I was worried it was still going to big.
All that you've described, just how hard will that be to do? The time-set we have for this project is basically a year's worth of free-time... I mean, I'm up for a challenge - but if you say it's not possible within that time-frame then I'll look for another option... Like a pre-made OS that runs C, that we can just customise.
It may be doable (you can get a lot done in a week if you direct a lot of time at it), but you should also take the testing required into account. Once the Bootloader/OS/... you have to code is done, it will still require a fair amount of testing and there WILL be bugs which will need to be fixed.
Perhaps you could search another OS' and then in a way "port" it over, but finding one that does exactly what you need is going to be hard. I think even most of the OS' here aren't even that far yet (with a few exceptions).
Re: Creating an OS... But REALLY basic?
Posted: Sat Feb 27, 2010 1:25 pm
by AJ
Hi,
I don't want to put you off OS Development if that's what you'd prefer, but how about a custom linux distro? That way, you'll have loads of drivers at your disposal and can concentrate on environment and game programming. Alternatively, you could look at writing your own OS, but aim for a single set of hardware - choose a certain make of Mini ITX board with known graphics and audio hardware, for example.
Cheers,
Adam
Re: Creating an OS... But REALLY basic?
Posted: Sat Feb 27, 2010 2:14 pm
by MinatureCookie
Oh, no - it's not putting me off OS Design. I've had this site bookmarked for ages because it's one of the things I aim to do, build an OS - I was just hoping that this would be easier for something specific, wishful thinking I suppose
Could you tell me a little more about the custom Linux Distro, how would that work? (Going a little off the original topic now, but)
Re: Creating an OS... But REALLY basic?
Posted: Sat Feb 27, 2010 2:24 pm
by AJ
Hi,
Have a look at
Linux from Scratch. I've not used Gentoo, but you may like to investigate that as an alternative.
Cheers,
Adam
Re: Creating an OS... But REALLY basic?
Posted: Sat Feb 27, 2010 4:01 pm
by MinatureCookie
Ahh, LFS looks perfect for what I'm doing. Thanks for your help!