私が常にやりたかったことの 1 つは、独自のオペレーティング システムを開発することです (必ずしも Linux や Windows のように凝っているわけではありませんが、既に行った単純なブート ローダーよりは優れています)。
単純な「Hello World」OS を作成するためのリソースやガイドを見つけるのに苦労しています。
Linux や BSD を検討することを勧める人が多いことはわかっています。しかし、そのようなシステムのコード ベースは (おそらく) 非常に大きいため、どこから始めればよいかわかりません。
助言がありますか?
更新: Google からこの投稿にたどり着いた人が簡単に利用できるように、OS 開発リソースをいくつか紹介します。
独自のオペレーティング システムを作成する(Adam に感謝)
ゼロからの Linux (ジョンに感謝)
SharpOS (C# オペレーティング システム) (lomaxx に感謝)
OS Dev Wikiとフォーラム(Steve に感謝)
BonaFide (ありがとうスティーブ)
ふすま(ありがとうスティーブ)
独自のおもちゃの UNIX クローン OS を作成します(Steve に感謝)
その他のリソース:
「 MikeOSは、単純な OS がどのように機能するかを示すための学習ツールです。複雑なドライバーを必要としないように、BIOS アクセスに 16 ビット リアル モードを使用します」という素晴らしいリソースを見つけました。
2008 年 11 月 14 日更新
Freebyte's Guide to...Free and non-free Operating Systemsで、OSKit や ExOS ライブラリなどのキットにリンクしているリソースを見つけました。これらは、OS 開発を始めるのに非常に便利なようです。
2009 年 2 月 23 日更新
Ric Tokyoは、この質問でnanoosを推薦しました。Nanoos は C++ で書かれた OS です。
2009 年 3 月 9 日更新
Dinah は、意欲的な OS 開発者のスタック オーバーフローに関する有益な議論をいくつか提供してくれました。カスタム オペレーティング システムを作成する際の障害については、OS の開発中に遭遇する可能性のある落とし穴について説明しており、OS 開発はより一般的な議論です。
2009 年 7 月 9 日更新
LB は、OS 開発を学ぶ学生向けに設計された教育用 OS であるPintos Projectへのリンクを提供しました。
2009 年 7 月 27 日に更新 (まだ勢いがあります!)
私は、23 の講義を特徴とするバークレーのオンライン OS コースに出くわしました。
TomOSは、小さなメモリ マネージャーとマウス サポートを含むMikeOSのフォークです。MikeOS として、教育プロジェクトとして設計されています。NASM アセンブラで書かれています。
2009 年 8 月 4 日更新
スライドやその他の資料は、上記のバークレーのオンライン レクチャーに付随するものであることがわかりました。
2009 年 8 月 23 日更新
stackoverflow でosdev とタグ付けされたすべての質問
OS/161は、シミュレートされたハードウェア上で動作する c 言語で書かれたアカデミック OS です。この OS は Nachos に似ています。ありがとうノベロクラット!
tangurena は、組み込みシステム向けに設計された OS であるhttp://en.wikipedia.org/wiki/MicroC/OS-IIを推奨しています。コンパニオンブックもあります。
Robert Love によるLinux Kernel Developmentは、Anders によって提案されています。これは、「広く評価されている内部関係者による Linux カーネルの考察」です。
2009 年 9 月 18 日更新
完全に c# で記述された OS であるCosmosについて教えてくれた Tim S. Van Haren に感謝します。
tgiphil は、マネージド オペレーティング システム アライアンス (MOSA) フレームワーク、「共通中間言語に基づくマネージド オペレーティング システムの開発を促進するためのツール、仕様、およびソース コードのセット」について語っています。
2009 年 9 月 24 日更新
Steve は、Visual Studio を使用して Windows で開発するためのリソースをいくつか見つけました。BrokenThorn のガイドのセットアップと VS 2005またはOSDev の VS セクションを参照してください。
2012 年 9 月 5 日更新
kerneltrap.org は利用できなくなりました。Linux カーネル v0.01 は、kernel.orgから入手できます。
2012 年 12 月 21 日更新学期のプロジェクトとして設計され た基本的な OS 開発チュートリアル。基本的なコンポーネントを使用して OS を構築する方法について説明します。初心者にとって非常に良いスタートです。関連論文. ありがとうスルジャン!
2013 年 11 月 15 日更新
シンプルなオペレーティング システムをゼロから作成する. ありがとうジェームズ・ムーア!
2013 年 12 月 8 日更新
コンピューターのオペレーティング システム の作り方 ありがとう ddtoni!
2014 年 3 月 18 日更新
2016 年 9 月 12 日更新
2016 年 12 月 10 日更新
単純なオペレーティング システムの作成 — スクラッチから(@Tyler C に感謝)