Learned C...kind of..whats next?

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
atomspring
Posts: 2
Joined: Fri May 20, 2005 11:00 pm
Location: Queens, NY
Contact:

Learned C...kind of..whats next?

Post by atomspring »

I have quite a few good ideas I'd like to implement in a new OS, an so have spent the last 3 months learning C from the 2 volume "C for dummies"...it took a while, because I had to juggle school, and other stuff.

Regardless, I'm not a complete newbie, but I'm not at "intermediate" either. Whats the next step I should take, programming-wise?

BTW, the OS is going to be based on minix...and it's a super-mod of an OS that people seemed to like, but whose developer kind of let it die.

In order to give me the mai source code, i need to learn as much C as possible.

Thanks very Much, no matter what the response
User avatar
carbonBased
Member
Member
Posts: 382
Joined: Sat Nov 20, 2004 12:00 am
Location: Wellesley, Ontario, Canada
Contact:

Re: Learned C...kind of..whats next?

Post by carbonBased »

I keep on telling people an operating system is not a good choice for your first C "application," but... if you insist, (assuming you're planning on writting for x86 architecture) you should read as much as possible about the x86 platform.

Investigate booting methods (the easiest approach to get down and dirty is to use a pre-written bootloader like GRUB), protection, multitasking, memory management... everything.

I can't stress DESIGN enough. Most OSs I see floating around have absolutely NO design... they're just a melding of random code chunks into one object that isn't modular nor extensible. Keep extensibility and expandability in mind, always.

In my opinion, the very first thing you want to start writting are simple constructs -- linked lists, binary trees, stacks, queues, etc.

From those, build upon them to create more elaborate basic entities like mutexes, semaphores, message queues, etc.

One you have that solidly in place, THEN you can start delving into the finer points of OSDev... but without a good framework, you'll drown quickly.

--Jeff
atomspring
Posts: 2
Joined: Fri May 20, 2005 11:00 pm
Location: Queens, NY
Contact:

Re: Learned C...kind of..whats next?

Post by atomspring »

I realized that I wouldnt be able to create an entire Os from scratch, it'd take too long, and require way too much stuff to learn at once (not that I don't want to).

I'm modifiying someone else's OS, that is pretty modular (buttons, gfx libraries, the whole deal) and I figured this'd be a great starting point, because the Os works pretty well as it is, but it rides on top of dos.

So, like I said, a great place to start, because since hte meat is already made, I just need to learn how to make it boot and stuff, not to mention add a few things, like error handeling, sound, etc.

If you guys have any questions or suggestions, just ask.

Thanks, all
User avatar
bubach
Member
Member
Posts: 1223
Joined: Sat Oct 23, 2004 11:00 pm
Location: Sweden
Contact:

Re: Learned C...kind of..whats next?

Post by bubach »

Even if you are palnning to modify someone else's OS, i recommend that you try coding some simple things yourself to get the feeling of os-dev, before really starting to dig into design docs etc.
Like getting a small "OS" with a working IDT and keyboard handler etc working.

Then you'll get the basics and can throw it away and start reading on OS-design, start planning on what you want to modify/add to the OS.
"Simplicity is the ultimate sophistication."
http://bos.asmhackers.net/ - GitHub
Post Reply