How to make sense of all the information

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
devchild
Posts: 4
Joined: Mon May 30, 2016 2:42 pm

How to make sense of all the information

Post by devchild »

Hi,

I am interested in Os development as a hobby project.
I've been interested in it for a while now.
I am a professional programmer, but I don't do embedded devices or anything, not professionally at least.
In a sense I have never been forced to have theoretical knowledge in order to develop an application.
But for OS dev, I feel that my current way of working will not work.

Currently I am at the stage where I can follow some tutorials, weed out some bugs and get a basic barebone example running in Qemu. But I realise If I want to develop something more than a "hello world" kernel, I'll need to understand a little more of the cpu and the low level hardware behaviour.

- I was wondering where you guys got all the knowledge needed for developing an OS?
- what is your technical background?
- how long have you been working on your OS?
- Do you have some tips, like can I discover the inner workings of the cpu by debugging?
- What do you do if specs aren't available?

In a way I am looking for guidance and courage, I think.
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

Re: How to make sense of all the information

Post by BrightLight »

devchild wrote:- I was wondering where you guys got all the knowledge needed for developing an OS?
Mostly from the OSDev Wiki, other open-source OSes, and official documentation.
devchild wrote:- what is your technical background?
I've done userspace development in Visual Basic .NET before, and have basic experience in C/C++.
devchild wrote:- how long have you been working on your OS?
Well, I've really been doing OS development since 2014, and I created a 16-bit DOS-like kernel then. Time passed and by middle 2015, I had a command line interpreter in a 32-bit OS with graphics support. More time passed, and today I have a 64-bit kernel with ACPI support, multiprocessor support and a window manager. So it's probably roughly 2 years since I created my "Hello, world!" boot sector.
devchild wrote:- Do you have some tips, like can I discover the inner workings of the cpu by debugging?
Bochs has a beautiful built-in debugger. You just need to compile it in.
devchild wrote:- What do you do if specs aren't available?
For most things "CPU, APIC, AHCI, USB, PCI, ATA, ACPI, ..." the specs are freely available, even if not that obvious. There are several things that don't have the specs publicly available, but those are mostly accelerated graphics cards and such, and it's probably too early to think about that, yet.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: How to make sense of all the information

Post by Combuster »

devchild wrote:Can I discover the inner workings of the cpu by debugging?
You theoretically could, but OS development has a tendency to be all about the details. In addition, the processor manuals will tell you exactly what you could possibly observe directly from debugging, so unless debugging is a specific goal it's probably not worth it.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply