オペレーティングシステムを作成することにした若いプログラマ向けのヒント

読者の皆さん、こんにちは!



オペレーティングシステムを作成したことがありますか? おそらく、10〜20年前に見て、彼のキャリアの始まりを思い出した10人目のプログラマー全員が、イエスと答えます。 紳士、この記事はあなたのためではありません。 この記事は、自分自身を信じ、世界を征服する希望に満ちている人を対象としています。 よくある間違いについて警告するようにします。



若者の間では、アセンブラーを使用するのはクールだと考えられていました。 アセンブラーを習い始めた若いプログラマーのほとんどは、ウイルスやオペレーティングシステムの作成に挑戦したいと考えています。 統計によると、アセンブラーでOSを作成するプロジェクトの90%以上がブートローダーを作成することになります。 人は経験を積み、将来直面することを理解し、徐々に興味が薄れていきます。 まあ、結果の欠如も結果です。 いずれにせよ、アセンブラの知識は、たとえば組み込みソリューションの分野など、将来の生活に役立つ可能性があります。 私のアドバイスは簡単です:あなたのOSを書くことに決めました-他の誰かのブートローダーを取ります。 最悪のシナリオでも、ブートローダーで停止する90%の先を行くことになります。



続けましょう。 ローダーがあり、カーネルを作成します。 繰り返しになりますが、若いプログラマーは、設計について考えることなく、80386プロセッサーの保護モード(Pentium Quad Coreを置き換え、意味は変わりません)に関する書籍を入手し、セレクター、記述子、仮想メモリーのページなどで遊び始めます。 など その結果、彼らのプログラムは本当に保護モードで動作し、おそらくタイマーからの中断時にタスクを切り替えます。 経験を積んでプロジェクトに興味を失ったり、アセンブラーコードに混乱したりする良い機会です。 になる方法 システムの設計を開始するために得た経験を停止して使用する良い機会です。 これにより、3番目のレベルに移動します。



それで、あなたはかけがえのない経験を積んで、鉄の働きを理解しました。 次に何をする? 鉄の仕組みを知るだけでは十分ではありません。 車輪を再発明しないために、最新のオペレーティングシステムがどのように機能するかを研究することは理にかなっています。 アンドリュー・タネンバウムの本はあなたを助けます。



グラフィカルウィンドウインターフェイスの実装を引き受けることは強くお勧めします。[スタート]ボタンとウィンドウは、経験の浅いユーザーにのみ印象を与えます。 専門家なら誰でも、オペレーティングシステムの主なタスクはメモリとプロセスの管理であることを知っています。 プロセスの作成、維持、および(重要な)解放方法を設計します。 メモリを忘れないでください-メモリがどのように割り当てられ、解放されるかを考えてください。 そして、プロセスとメモリ管理がどのように実装されるかを明確に想像する場合にのみ、コーディングを開始できます。



次の段階がおそらく最も重要です。 プロセッサとメモリを制御するシステムを設計できたとしても、これはシステムが実際に興味深いことを意味するものではありません。 組み込み開発者があなたの作品に興味を持つ可能性はわずかです。 しかし、x86アーキテクチャに基づいた組み込みシステムはいくつ知っていますか? ここにいます。 プロジェクトのこの段階では、美しいグラフィカルインターフェイスを書きたいと思うでしょう。 早く。 早すぎます。 ファイルシステムを実装するときが来ました。 どのオペレーティングシステムでも、それがどれほど新しくて進歩的であっても、ファイルシステムはグラフィカルインターフェイスよりも重要です。 最新のWindowsでさえ、テキストベースのMS-DOS上で動作するアドオンから成長しました。



ファイルシステムを作成すると、新しい問題が発生します。システムがどれほど優れていて革新的であっても、ソフトウェアがなければ作者以外の人には興味がありません。 良いシステムのプログラムはどこで入手できますか? 自分で書く? あなたがスーパーマンならそれを試すことができます。 友人や知人に尋ねますか? 素朴な考え-誰もが自分の問題で忙しいです。 唯一の方法があります-すでに書かれたソフトウェアを使用することです。 そして、設計段階であっても、この機会を考えて、既存の標準のいずれかとの互換性を定めれば非常に良いことです。



上記のヒントを考慮する必要がありますが、これはそれらに従うことが成功につながることを意味するものではありません。 これは最低限のものであり、それなしでは仕事をする価値はありません。



All Articles