更新:このプロジェクトは、時間がないため、積極的に維持されていません。

トールは、学習目的と楽しみのために作成されたオペレーティングシステムです。
現在、主にC ++で書かれた64ビットOSで、必要に応じて数行のアセンブリがあります。
オペレーティングシステムをゼロから構築する多くの理由があります。
私にとって、主な2つの理由は楽しみと新しいことを学ぶことです。カスタムコンパイラに取り組むことに飽きてきたとき、新しいプロジェクトに取り組むことにし、オペレーティングシステムの開発を選択しました。それはおそらく最も複雑な趣味プロジェクトです。このプロジェクト中に前進するためにたくさんのことを学ばなければなりませんでした。通常のプログラムでは考えさえしない困難がたくさんあります。より一般的には、私はプログラミングが大好きなので、自分のOSを開発するのがとても楽しいことができると確信していました。独自のOSを持っていることのオタク側もあります:)
このプロジェクトでお金を稼ぐことにはまったく意図がありません。もう開発していないときは、しばらくプロジェクトを切り替えるだけです;)
オペレーティングシステムをゼロから作成するのは簡単ではありません。各ステップでは、必ずしも簡単に入手できるとは限らない多くの情報が必要です。一般に、OSがより高度になるほど、情報が少なくなります。
Develpmentの主な2つのリソースは次のとおりです。
最初から一連のチュートリアルは、壊れたとげシリーズです。私は完全なチュートリアル(いくつかの特定のパーツのみ)に従っていませんが、それは良い情報でいっぱいであり、おそらく開始するのに良い場所です。
ジェームズ・モロイシリーズもあります。それははるかに少ないですが、チュートリアルが好きなら、おそらく役立つでしょう。
そしてもちろん(Intelで開発する場合)、 Intel 64およびIA -32 Architectures Software Developer's Manualであるガイドにはいくつかの部分があります。主にシステムプログラミング - パート1パーツを使用しました。それは重いように見えるかもしれませんが、それはかなり良いことであり、アーキテクチャを理解するための非常に貴重な資産になります。たとえば、ページングや中断の取り扱いです。
本に関しては、私はこれまでのところほとんどがっかりしています。オペレーティングシステムにはたくさんの本がありますが、これまで読んだ数少ない本は素晴らしいものではありませんでした。彼らはおそらくあなたがOSを理解するのを助けるのが得意ですが、あなたがあなた自身のOSを開発するのを助けるのはかなり悪いです。さらに、それらも非常に時代遅れです。
私が読んだ本は次のとおりです。
一般的に、本はあなたがオペレーティングシステムを少し理解するのに役立ちますが、彼らはあなたが何かを開発するのを本当に助けません。私はすぐに到着すべき他の本です、私は彼らがより良くなることを願っています。
注:このリポジトリは、サブモジュールを使用しています。チェックアウトするときに、再回帰オプションを忘れないでください。
ビルド手順については、wiki:https://github.com/wichtounet/thor-os/wiki/buildで説明しています
このプロジェクトは、MITライセンスの下に配布されます。詳細については、ライセンスをお読みください。