Where to begin?
Yep, that’s the big question. I’ve finally decided that I’m going to have a go at operating system programming again. I’ve been reading about kernels, osdev concepts, protected mode, and similar stuff lately. I’ve found that by taking small and carefully designed steps from time to time, I can actually make something happen.
Hence the question in the title: Where to begin?
It’s pretty much obvious that the easiest way to test anything I’ll write is by some means of virtualization. I’m eyeing Virtual PC at first because I’ve some experience with it already. My goal is to create a virtual disc image with GRUB preloaded on it, and run that in VPC. Which kind of image (HDD or CD-ROM) I don’t know yet. I think the best would be to have a HDD image, but no tutorials in that direction yet, so… yeah.
After the testing environment (what I’ve just described) is set up, I’ll start coding. First is a simple “Hello world!” kernel, to prove the point. After that I’ll be aiming for pretty much everything a good kernel should offer. Protected mode, multitasking, memory management, and a whole bunch of other words and phrases that I haven’t even heard of.
The problem is Windows. I am running Windows, Vista to be specific. It’s not exactly the dream environment for operating system development. Mostly because every tutorial there is, is *NIX based. Since I don’t want to switch to any of those systems, I don’t know yet how I’m going to proceed. I’m going to give Cygwin a shot, see where that can get me.
Filed under: OSDev | 3 Comments
Nice goals, good luck four you! Write more posts about your work and researches about these kernel and other things, it’s interesting. And also tell me if you have your “hello, world” kernel, i’d like to test it
TY. I will try to post more, especially now that I may have found a solution to the *NIX/Win problem. Plus you can be sure that I’ll tell you when I have something worth looking at
fancy a guest account on my notebook running ubuntu jaunty almost 7/24?
of course you could ssh into it and do (a strictly limited bunch of) stuff
.