1

私はオペレーティング システムのプログラミングに非常に興味があります。空の紙から独自のカーネルを書きたいと思っています。C 言語をよく知っており、アセンブリも少し知っています。それを読むために。時間の無駄だから、自分でカーネルを書くのはやめたほうがいいとみんなに言われます。しかし、私はすべてが舞台裏でどのように機能するかを知りたいだけです.独自のカーネルを書くことを学ぶことは教育目的のためだけであり、私のOSが巨大で使いやすいものになるという幻想はありません.

AT OS の設計と実装を購入するよりも、OS が舞台裏でどのように機能するかを学ぶ方法はありますか? 独自の Linux ディストリビューションを構築するだけで十分ですか?、Linux カーネル開発を学習するか、または Windows Internals (Mark Russonovich による優れた本) を学習しますか?すべてがどのように機能するかを理解するために。

よろしくお願いします。

4

2 に答える 2

3

現在の Linux カーネルを勉強するのが一番のチャンスだと思います。それは十分に確立されており、広く使用されています。無料で利用できるのに、どうしてですか?独自のカーネルを作成するには膨大な時間がかかり、他の人が考え出したものに出くわすことになります。独自のカーネルを作成することは非常に興味深いプロジェクトですが、車輪を再発明しないでください。;-)

于 2012-11-04T11:32:43.333 に答える
0

もちろん、Linux などの既存のオープンソース カーネルを学習することは役に立ちますが、なんらかのコンテキスト (たとえば、Tanenbaum の本や、ローカルまたはオンラインの大学での OS クラス) がなければ、おそらく完全に道に迷ってしまうでしょう。OS のしくみについての講義を見て、それと並行して教科書を読んでから、ソース コードを見始めることをお勧めします。

既存のカーネルからコードを読み始めるときは、趣味/学習用の OS を見つけてみてください。優れた OS コースを持つほとんどの大学では、カーネルを使用して授業を行っています (学生が宿題として自分で実装しなければならないカーネルの一部を削除している場合もあります)。また、常に Minix を使用することもできます。OS のトピックについて学ぶために Minix を使用している場合は、Minix2 などの古いバージョンを使用することをお勧めします。新しいバージョンは、より「本番対応」/「初心者にはアクセスできない」と読みました。いずれにせよ、コードの前に必ずドキュメントを読んでください!

于 2013-06-16T23:15:29.897 に答える