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!
Here I am again!
- NickJohnson
- Member
- Posts: 1249
- Joined: Tue Mar 24, 2009 8:11 pm
- Location: Sunnyvale, California
Re: Here I am again!
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.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
Good luck!
-
- Posts: 2
- Joined: Sat Jun 27, 2009 11:33 pm
Re: Here I am again!
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!
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.
The man who walks alone is likely to find himself in places
no one has ever been before.
Re: Here I am again!
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.
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.