Linux – Pointers in Learning Linux 0.01 Source code

linuxsource

I am trying to learn some real programming in C and the concepts of Linux. So i thought i will try by looking at the Linux kernel 0.01 version source.

In my understanding, I could find the scratch level implementation of many things, but the comments are very few. For example :

void rs_init(void)
{
    set_intr_gate(0x24,rs1_interrupt);
    set_intr_gate(0x23,rs2_interrupt);
    init(tty_table[1].read_q.data);
    init(tty_table[2].read_q.data);
    outb(inb_p(0x21)&0xE7,0x21);
}

There seems to be no comments about the registers or the function.
I know the implementation will provide some idea, but I would like to know, if I should keep some reference so that the values and the names give me a better meaning and understanding.

Please offer some pointers.

Best Answer

While Minix has been suggested as one OS to study, another is Unix Sixth Edition via the Lions' Commentary.

Sixth Edition Unix is quite small by today's standards and the Lions' commentary on it is considered to be one of the best set of notes for learning the Unix operating system. For the longest time, it was only available as a multi-generation photocopy, but thankfully it has been reprinted and should be available from your favourite online book seller.

Related Question