4

タイトルは私の質問の一部ですが、2番目の部分はそれほど単純ではありません。最初の部分:独自のオペレーティングシステムを作成したいとします。どうすればそれを行うことができますか?ブートローダーを作成する必要があることを理解しています。しかし、私はそこからどこに行きますか?別のプログラムに送信する必要がありますが、そのためには、そのプログラムがすでに存在している必要があり、メモリ空間のどこにあるかを正確に知る必要があります。ヒント/チュートリアルはありますか?

2番目の質問。私は現在メモリ管理を研究しており、配置アルゴリズムのより良い実装についての理論があると思いますが、理論以外で実際にテストする方法はありません。OSを作成できるようになったら(これは将来の参照用です)、実際にメインメモリをいじって、プロセスを移動するにはどうすればよいですか?

PS:また、独自のファイルシステムを作成する必要がありますか?

編集:現在のコメントを読んだ後、私が言ったことを修正したいと思います。「第二部はそれほど単純ではない」と言ったとき、それは言葉では悪い選択のようです。どちらも非常に難しい取り組みになることは承知していますが、それは私には関係ありません。私はただ新しいことを学ぶのを楽しんでいます。そして、私は誰かが私のためにチュートリアルを書くつもりはありませんでした。ただ私を正しい方向に向けるためです。

4

9 に答える 9

5

ふぅ。これはかなりの質問です。ここで得られる回答は、そのような巨大な根拠をカバーするとは思いません (誰かが座って 1 時間か 2 時間書いて修正しない限り)。

最初にオペレーティング システムについて読むことをお勧めします。Tanenbaum の本やOSDev.orgを参照してください。

GRUB をブートローダーとして使用できます。これにより、作業が簡素化されます。

于 2010-12-07T01:29:30.340 に答える
3

実際にオペレーティングシステムを作成するのではなく、オペレーティングシステムのシミュレーション(全体または一部)を検討することをお勧めします。モデルによっては、少ない労力でより多くのことを引き出すことができます。

私は学部生で、Javaでディスクスキャンアルゴリズムを作成したことを知っています。それはすべてJavaであり、いくつかのクラスとインターフェースがありました。実際にはディスクをスキャンしませんでしたが、アルゴリズムを測定、テスト、および微調整して、ディスクがどのように変化したかを確認するのに十分な仕事をしました。

そこで、もっと簡単なものを提案します。メモリアルゴリズムの直後であれば、テスト可能で調整可能な小さなアプリケーションを作成して、やりたいことに直接スキップでき、「他のOSのもの」について心配する必要はありません。 d別の方法で書く必要があります。

または、既存の(UNIX / Linux)OSで遊ぶ方が、新しいものを最初から作成するよりも簡単な場合があります。

于 2010-12-07T02:06:50.407 に答える
3

タイトルが単純な部分であることに同意しません。minix の勉強を検討してみてはいかがでしょうか

于 2010-12-07T01:30:14.990 に答える
1

これは単純な試みではなく、多くのことを学ぶものです。http://wiki.osdev.org/Main_Pageにアクセスすることをお勧めします。このサイトには多くのチュートリアルがあり、確実に始めることができます。

于 2010-12-07T01:29:01.760 に答える
1

説明したほとんどのコンポーネント (メモリ マネージャー、FS) は、OS を作成しなくても実装、テスト、および使用できます。

また、ブートローダーは最初に始めるべきものではありません。ほら、それによってロードされる何かがあるはずです。そして、この何か (開発とテストが必要なもの) は、ブートローダーよりもはるかに困難です。

それを行うために必要な作業量 (および知識!) を過小評価しているようです。あなたにできる最善のことは、喜んで説明してくれる友人を見つけて、彼と1時間チャットすることです.

于 2010-12-07T01:32:20.943 に答える
0

オペレーティング システムに関する理論的な本であるオペレーティングシステムの概念は、本当に役に立ちます。どの OS でも、タスクの切り替え、コンテキストの切り替え、トラップなどを処理するスケジューラが必要になります。

于 2010-12-07T01:28:44.270 に答える
0

改訂を検討したい別の良い参考書は次のとおりです。

この努力を頑張ってください。つまり、頑張ってください。

于 2010-12-07T01:54:46.860 に答える
0

Linux と、より優れた Minix を研究してください。また、ここで何人かが示唆しているように、既製のブートローダーを使用する場合は、GRUB よりも LILO を使用します (もちろん、これらは単なる個人的な設定です)。

于 2010-12-07T03:48:19.883 に答える