Bare Bones, ok. Now where should I head?

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
JulienDarc
Member
Member
Posts: 97
Joined: Tue Mar 10, 2015 10:08 am

Bare Bones, ok. Now where should I head?

Post by JulienDarc »

Hello,

I just finished the Bare Bones "hello world". I am *very* newbish at OS development (but definitely not at C/assembly application dev : user space programming is so simple now I see the OS underlyings where I have to code everything myself :) ).
The _worst_ thing is I love to learn :D So it is alright.

Currently I test my kernel with qemu with the "-kernel" switch. It works. Displaying the Hello world. Ok.

Now, should I understand that I am free to implement whatever I wish, however I wish ?

I mean after adding gdt, ldt, idt and going to protected mode, I am running into the real deal (making an OS) ?
"That is it" or are there a lot of other initializations?

I ask a lot of questions but I get very excited.

Thanks
User avatar
sortie
Member
Member
Posts: 931
Joined: Wed Mar 21, 2012 3:01 pm
Libera.chat IRC: sortie

Re: Bare Bones, ok. Now where should I head ?

Post by sortie »

Hello,

Welcome aboard! Good to hear you have trained user-space skills in C and assembly. They'll serve you well as a foundation.

There's a little section with some nice exercises at the end of Bare Bones. It's probably a good idea to follow them.

If you want to do serious osdev, and why not, I suggest you look at my Meaty Skeleton example template as a reasonable way to structure your operating system. Feel free to diverge according to your taste, but a lot of the design is done that way for a reason, except the kernel code itself which is just generic hello world quality.

It's easy to be lost without a big picture roadmap when starting out, so I put together a Creating an Operating System meta tutorial (in progress) that tries to list most things you want to do.

You definitely want gdt, paging, memory management, idt, tss, multithreaded pre-emption, scheduling and such early on. It's a good deal of learning and work and debugging, all necessary work. But you're right, it's going to be free-form fairly soon. It's your operating system.

Have Fun!
and going to protected mode
You are already in protected mode if you followed Bare Bones. I suggest you learn what the processor modes actually are.
User avatar
iansjack
Member
Member
Posts: 4707
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Bare Bones, ok. Now where should I head?

Post by iansjack »

For a challenge you might like to try working your way through the labs from the MIT OS course: http://pdosnew.csail.mit.edu/6.828/2014/ . You'll learn a lot by doing so, but you'll probably need to do quite a lot of research.
glauxosdev
Member
Member
Posts: 119
Joined: Tue Jan 20, 2015 9:01 am
Libera.chat IRC: glauxosdever

Re: Bare Bones, ok. Now where should I head?

Post by glauxosdev »

Welcome to osdev, JulienDarc!

Writing an Operating System is a very demanding process,
which requires months of work just to get something usable.
Don't expect it to be easy. You will need to try very hard.
You will get frustrated many times, just don't let it bring you down. :)

Along with sortie's recommendations, you could try
to get keyboard input and execute some commands.
Later, you will want to add USB and FileSystem support.
And then, you will want to write some programs, such as a text editor.

Also, you should decide which primary language you will use.
Assembly and C have both pros and cons. Check them out!
Edit: Of course you can use inline assembly.

Remember: http://wiki.osdev.org is your friend.

Good Luck! :D
JulienDarc
Member
Member
Posts: 97
Joined: Tue Mar 10, 2015 10:08 am

Re: Bare Bones, ok. Now where should I head?

Post by JulienDarc »

Thanks a lot,

I feel at home :)

I've done the meaty now and I would like to thank you so much for such a resource you offer.
Without it, I would have never got my feet wet.

Thanks thanks for showing us the arcanes.

Julien
User avatar
sortie
Member
Member
Posts: 931
Joined: Wed Mar 21, 2012 3:01 pm
Libera.chat IRC: sortie

Re: Bare Bones, ok. Now where should I head?

Post by sortie »

Do join #osdev on irc.freenode.net if you like IRC. It's quite useful to have real-time access to many established hobbyist operating systems developers.
Post Reply