Here I am again!

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
screennameless
Posts: 2
Joined: Sat Jun 27, 2009 11:33 pm

Here I am again!

Post 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!
User avatar
NickJohnson
Member
Member
Posts: 1249
Joined: Tue Mar 24, 2009 8:11 pm
Location: Sunnyvale, California

Re: Here I am again!

Post 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!
screennameless
Posts: 2
Joined: Sat Jun 27, 2009 11:33 pm

Re: Here I am again!

Post 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.
User avatar
xyjamepa
Member
Member
Posts: 397
Joined: Fri Sep 29, 2006 8:59 am

Re: Here I am again!

Post by xyjamepa »

Good luck
The man who follows the crowd will usually get no further than the crowd.
The man who walks alone is likely to find himself in places
no one has ever been before.
User avatar
rootnode
Member
Member
Posts: 42
Joined: Fri Feb 29, 2008 11:21 am
Location: Aachen, Germany
Contact:

Re: Here I am again!

Post 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.
Post Reply