我正在尝试学习一些真正的 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)
似乎没有关于寄存器或功能的评论。
我知道实现会提供一些想法,但我想知道,如果我应该保留一些参考,以便值和名称给我更好的含义和理解。
请提供一些指点。
虽然 Minix 已被建议作为研究的一个操作系统,但另一个是通过Lions' Commentary 的Unix Sixth Edition 。
按照今天的标准,第六版 Unix 相当小,狮子会对其的评论被认为是学习 Unix 操作系统的最佳笔记之一。在很长一段时间里,它只提供多代影印本,但幸运的是它已经重印,应该可以从您最喜欢的在线图书销售商处获得。
根据要求,从评论中重写:
我不认为,Linux 0.01 将成为 C 编程概念的一个特别好的来源:-)
试试 Minix。Minix 用于教授操作系统设计,因此它是学习此类内容的更好来源。
http://wiki.minix3.org/en/DevelopersGuide