学习Linux 0.01源代码中的指针

Sen*_*Sen 4 linux source

我正在尝试学习一些真正的 C 编程和 Linux 的概念。所以我想我会通过查看 Linux 内核 0.01 版本源来尝试。

在我的理解中,可以找到很多东西的scratch级别的实现,但是评论很少。例如 :

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);
}
Run Code Online (Sandbox Code Playgroud)

似乎没有关于寄存器或功能的评论。
我知道实现会提供一些想法,但我想知道,如果我应该保留一些参考,以便值和名称给我更好的含义和理解。

请提供一些指点。

cam*_*amh 6

虽然 Minix 已被建议作为研究的一个操作系统,但另一个是通过Lions' Commentary 的Unix Sixth Edition 。

按照今天的标准,第六版 Unix 相当小,狮子会对其的评论被认为是学习 Unix 操作系统的最佳笔记之一。在很长一段时间里,它只提供多代影印本,但幸运的是它已经重印,应该可以从您最喜欢的在线图书销售商处获得。


Šim*_*óth 6

根据要求,从评论中重写:

我不认为,Linux 0.01 将成为 C 编程概念的一个特别好的来源:-)

试试 Minix。Minix 用于教授操作系统设计,因此它是学习此类内容的更好来源。

http://www.minix3.org

http://wiki.minix3.org/en/DevelopersGuide