Linux 0.01ソースコードでポインタを学ぶ

Linux 0.01ソースコードでポインタを学ぶ

私は実際のCプログラミングとLinuxの概念を学びようとしています。だから私はLinuxカーネルバージョン0.01のソースコードを見なければならないと思いました。

私が理解しているように、多くの項目のスクラッチレベルの実装を見つけることができますが、コメントはほとんどありません。たとえば、

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);
}

レジスタや関数の説明はないようです。
実装はいくつかのアイデアを提供することを知っていますが、値と名前がより良い意味と理解を提供するためにいくつかの参照を維持する必要があるかどうか疑問に思います。

いくつかのアドバイスを提供してください。

答え1

Minixは調査する価値のあるオペレーティングシステムとして提案されていますが、もう1つはUnixバージョン6です。ライオンズクラブのコメント

Unixの第6版は今日の基準で見ると非常に小さく、それに対するLionsのレビューはUnixオペレーティングシステムの学習に関する最高の参考書の1つと考えられています。長い間、この本は多世代のコピーでしか入手できませんでしたが、幸いにも再印刷され、お気に入りのオンライン書店で購入できます。

答え2

リクエストに応じてコメントに基づいて書き直しました。

私はLinux 0.01がCプログラミングの概念の特に良いソースになるとは思わない:-)

ミニックスをお試しください。 Minixはオペレーティングシステムの設計を教えるために使用されるので、この種の学習のためのより良いソースです。

http://www.minix3.org

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

答え3

プログラミング言語を学ぶための最善の方法は、自分が持っていない問題を他の人がどのように解決したかを調べるのではなく、問題を解決することです。

興味深いオープンソースのLinuxプロジェクトを見つけて、いくつかのパブリックバグを見て、修正可能であることを確認してください。もちろん難しいことですが、特定の問題がある場合は、言語を学び、学んだ内容を適用して問題を解決できます。これは前のコードで学ぶよりはるかに簡単です。

時々、バグにはこれらのことの良い理解が必要なので、希望のリストにいくつかの機能を備えたオープンソースプロジェクトを見つけて、それらの1つを統合することもできます。

オープンソースチームは、常に修正や改善点を含むバグレポートを探しています。これは、オープンソースのコミュニティについて学び、やりがいを感じるのに役立ちます。

関連情報