10

オペレーティングシステムの設計を学びたいです。その過程でMinixとGNU/Linuxのどちらに取り組むべきか疑問に思いましたか?私は本が好きなので、主に本をフォローしますが、ビデオリソース(おそらくビデオテープによる講義)も歓迎します。

私は正式にCとC#を研究しており、それらの中で中小規模のプログラムをプログラムすることができます。また、データ構造について非常に基本的な知識があります。

Minixルートを使用する場合、バージョン2(より単純な??)またはバージョン3に取り組む必要がありますか?

4

5 に答える 5

17

個人的な経験から、Minixルートに行きます。Minixは非常に単純で、教育的な観点から作成されています。一方、Linuxカーネルは長い間使用されてきたため、大幅に最適化されています。良いスタートではないと思います。

どのminixバージョンについてはあまり心配しません。コンセプトは同じです。新しいバージョンでは、Xを実行できます。これは便利ですが、同時に複雑さが増します。良い本を見つけたバージョンを選んでください。

于 2011-11-24T09:48:35.763 に答える
7

オペレーティングシステム:設計と実装はMinixを対象としているため、これはMinixの良い議論になるかもしれません。

このトピックに自分で触れていない限り、Linuxはかなり大きく(前回は1,000万行以上をチェックしましたが、もちろんすべてを調べる必要はありません)、Minixは個別のモジュールを備えたマイクロカーネルアーキテクチャを使用しているため、把握。

私はミニックスに行きます。

(一方、O'ReillyにはLinuxに関する本がたくさんありますが、そのファットブックを参考にして、Minixを使用するつもりです)

于 2011-11-24T09:50:50.317 に答える
5

私が行ったインターンシップでは、Minixのハードドライブドライバーを変更して、先着順ではなくエレベータアルゴリズムを使用してリクエストを処理する必要がありました。Minix 2でやるはずだったのですが、古いテクノロジーを使うのが好きではなかったので、Minix3でやりたかったのです。

私が取り組んでいた2か月で、最も苛立たしいことは、Minix 3がI5プロセッサ、Windows 7を実行する4GBのRAMを搭載したラップトップでVMWareでコンパイルするのに約20分かかったことです。最後に、2か月後にあきらめました。 Minix 3で、Minix 2に切り替えました。これは、約20秒でコンパイルされました。

今では、システムのコンパイル方法に何か問題があったとは言えませんが、システムを高速化するために一生懸命努力しましたが、成功しませんでした。

私はコンピュータサイエンスの修士号を取得したばかりで、Cでのプログラミングに5年間の集中的な経験がありました(私が独学のプログラマーであるとは思わないように)オペレーティングシステムを再設計してプログラミングに飛び込む:D)

編集:最後に、Minix 3をコンパイルして、どのように機能するかを確認することをお勧めします。運が良ければ、OSの概念がより現代的であるため、間違いなくこれを使用してください。一方、完全な初心者の場合は、Minix2から多くのことを学ぶことができます。

于 2011-11-24T09:55:20.700 に答える
0

他のポスターが言っているように、Linuxは非常に大きく複雑になり、参入障壁が急上昇しているため、Linuxから始めるのは難しい場合があります。ただし、このルートを選択する場合は、1つの小さなサブシステムから始めて、それに焦点を当てることをお勧めします。

于 2011-11-24T11:47:03.533 に答える
0

FreeBSDやGNU/Hurd(またはあなた自身のおもちゃのカーネル)など、他の可能性もあります。そしてそれはあなたが本当に学びたいことによります。

Linuxとドライバーの書き方を知っているなら、独自のLinuxドライバーカーネルモジュールを書くのが賢明です。

また、オペレーティングシステムの正確な定義にも依存します。これは必ずしもOSカーネルと同じではありません

すべてのオペレーティングシステムが「Unixライク」であるとは限りません。たとえば、 coyotosKangaroo、... tunes.orgも参照してください。

J.Pitratの著書ArtificialBeings(意識的なマシンの良心)には、OSが何であるかについて興味深い洞察があります。

于 2011-11-24T11:47:07.803 に答える