Page 1 of 1

Here I am again!

Posted: Mon Nov 30, 2009 7:44 pm
by screennameless
So, here I am again. I started here about a year ago, forgot about my OS and moved on with my life. Then, I rediscovered those old OS files while going through my old hard drive and realised that my programming skills are so much better now then they were. So, I'm going to start my OS again, this time, with a full intention to write a GUI, applications, and make it a full-sized mature OS. And maybe even, one day, market it.

Now I am confused as to where to start. I know programing, I know OSes. But just because I do doesn't mean that I know how to program OSes. I will be using C, with small bits of assembly (trying to use C as much as I can). Monolithic kernel, full ethernet & wifi capabilities with a custom browser of my design. And then once I design the API I might put in a WINE-like system to natively run Windows (and maybe OS X, and Linux) programs.

Now, I DON'T want to use a Linux kernel. I want to develop a kernel myself, (I'm a DIY kinda person) but I just need a little bit of help getting started.

Any help is greatly appreciated!

Re: Here I am again!

Posted: Mon Nov 30, 2009 8:10 pm
by NickJohnson
screennameless wrote:Monolithic kernel, full ethernet & wifi capabilities with a custom browser of my design. And then once I design the API I might put in a WINE-like system to natively run Windows (and maybe OS X, and Linux) programs
This is a little like saying "a small house, with 100 inch HDTV, roof-mounted death ray, and time machine that fits on the head of a pin". A monolithic kernel with networking is a very reasonable goal; however, you should get to that point before trying to write a web browser or wifi drivers, and especially before trying to emulate the ABI of Windows, OS X, and Linux. WINE is over 16 years in development - it is probably more complex than Linux itself. My advice is to design an ABI that fits what you want to do, and compile whatever you need with your own C library/toolchain.

Good luck!

Re: Here I am again!

Posted: Mon Nov 30, 2009 8:25 pm
by screennameless
Haha lol nice comparison! Good point though. I think I'll take it one step at a time and develop a file system & kernel with networking first, then the GUI, apps, and adding on to it after that. Though I still am not sure where to start... I mean, obviously I'm starting with the file system & kernel, but... I'm not used to OS programming.

Re: Here I am again!

Posted: Tue Dec 01, 2009 11:04 pm
by xyjamepa
Good luck

Re: Here I am again!

Posted: Wed Dec 02, 2009 12:17 am
by rootnode
Do it step by step. First a booting kernel, then work on some small programs to test your ABI, add basic ethernet capabilities, etc.
Really, build it slowly and rethink your design on every single step.

We're 18 months into development now, and our kernel isn't capable of doing anything useful yet (Our compiler is just capable of handling static classes and methods). To have a running C# kernel even without ethernet will take at least 6 months or even a year. But at least we have a solid design and thought it through. So I really advise you, like the other guys did, to take it slow!

But still: Welcome baack, good luck, and hoping to see some screenshots in a few weeks / months.