Why

 
Why do I program...

Way back in school, I was intrigued by games like POP2 and digger(yes that's
right - digger.com). Tried doing those things in BASIC and people told me that
C and assembly were the way to go to really get the juice out of the machine.

So, I learnt C and assembly - came against the wall of "real mode"! People told
me that, you have to get into protected mode to get the juice - and so I
started writing my kernel...This was in my third year. For a long time, I tried
it in assembly, didn't get far. Well, I came upto the point of launching from
DOS and multitasking 2 32-bit tasks - preemptively and then getting back to
DOS.

I needed an HD driver, that's when I explored the source code of GRUB...was
intersting, but ALAS, I found that GRUB actually returned back to real mode and
did BIOS calls to do the HD reading!!! The good thing that came out of it was
the sample C kernel that comes along with the GRUB source!

This was around 2 years ago, I moved to C. I could do things really
quickly...moving from assembly to C was like getting out of the hot sun and
into an air-conditioned room! Anyway, There were a lot of things to be done,
before I could qualify my program as a kernel!

In the mean time, I found that, not many people were really interested in the
"kernel" that I was writing - they were more interested in how much I knew
about Linux! Sure, I did all my work on Linux and did refer to the source once
in a while, I was not really a Linux guy back then. At that point I decided
that I would really look into the Linux source ... Linux source is open/free
blah blah blah...ITS NOT FRIENDLY TO A NEWCOMER!!!!

Anyway, I explored this and that...put some printk's (oh...did some direct
writes to 0xb800:0 in the pre-printk stages)...basically tried to get the flow!

It was only recently that I got my hands on Linux kernel 0.01...it was just
about 80K in the gz format...compare that to over 34MB of bz2!!!! 

Click here for details