7 ポイント 投稿者 GN⁺ 2024-09-15 | 1件のコメント | WhatsAppで共有
  • このリポジトリには、os.phil-opp.com で提供されている Writing an OS in Rust シリーズのソースコードが含まれています
  • 質問があれば Issue を作成するか、Gitter でチャットできます

コードの場所

  • 各記事のコードは個別の git ブランチにあります
  • 各記事後の中間状態を確認できます
  • 最新記事のコードは こちら で確認できます
  • 記事一覧で (source code) リンクをたどると、各記事のブランチを見つけられます
  • ブランチは post-XX 形式で命名されています(XX は記事番号)
  • 例: VGA Text Mode 記事は post-03Hardware Interrupts 記事は post-07 です
  • ビルド手順は該当ブランチの Readme を参照してください
  • git worktree を使ってサブディレクトリにブランチをチェックアウトできます
    git worktree add code post-10
    
  • 上のコマンドは code というサブディレクトリを作成し、10 番目の記事("Heap Allocation")のコードを含めます

記事

  • このプロジェクトの目標は、個別のブログ記事で段階的なチュートリアルを提供することです
  • 現在、次のような記事があります

Bare Bones:

Interrupts:

Memory Management:

Multitasking:

第1版の記事

  • 現在のブログ版は第2版であり、第1版はもはやメンテナンスされていません
  • 第1版の記事も依然として有用な場合があります
  • 記事一覧は次のとおりです

Bare Bones:

Memory Management:

Exceptions:

Additional Resources:

  • Cross Compile Binutils
  • Cross Compile libcore
  • Set Up GDB
  • Handling Exceptions using Naked Functions
  • Catching Exceptions (source code)
  • Better Exception Messages (source code)
  • Returning from Exceptions (source code)

ライセンス

  • このプロジェクトは blog/content フォルダを除き、以下のいずれかのライセンスです
  • blog/content フォルダのライセンスは blog/content/README.md を参照してください

コントリビューション

  • 明示的に別途記載がない限り、意図的に提出されたすべてのコントリビューションは、Apache-2.0 ライセンスで定義されているとおり、上記のデュアルライセンスに含まれます

GN⁺のまとめ

  • このプロジェクトは、Rust で OS を書く方法を段階的に説明するチュートリアルを提供します
  • 各記事は独立したテーマを扱い、コード例とともに説明されています
  • OS 開発に関心のある人にとって非常に有用な資料です
  • Rust の安全性と性能を活かして OS を開発する方法を学べます
  • 類似機能を持つ別のプロジェクトとして Redox OS があります

1件のコメント

 
GN⁺ 2024-09-15
Hacker Newsのコメント
  • 数年前に第2版を完了して、多くのことを学んだ

    • OS開発に関する説明が良く、Rust学習にも役立った
    • 著者は言語のイディオムをよく理解しており、コードの表現方法が教育的だった
    • ブログのRustにおけるfutures実装の説明が特に印象的だった
    • PhilがEFIベースの第3版の作業を再開してくれることを願っている
    • 第2版は、今でも週末の開発時間を過ごすのに素晴らしい方法だ
  • 5年前にチュートリアルを完了した後、MOROSの作業を始めた

    • RustとOS開発に興味のある人に強く勧めたい
    • Philは多大な努力を注いでおり、その成果がよく表れている
    • その後はosdev wikiを通じて学習を続けられる
  • RustでOSを書く代わりに、DML/DDLを実行できるデータプラットフォームを作るべきだ

  • RustとOS開発について深く掘り下げた後、この資料を見つけた

    • この資料の品質に感心し、OSの歴史と設計だけでなくRustの要素も学ぶことができた
    • Philは素晴らしい仕事をした
  • この資料のおかげで、2021年にRustを始めることになった

    • この資料が存在することにとても感謝している
  • PhilのOS開発に関する記事はいつも素晴らしい読み物だ

  • Harvey OSチームは現在R9OSプロジェクトに取り組んでいる

  • 元の版の投稿を特に勧めたい

    • 現在の版はブートローディングの過程を特別なcrateで処理していて、助けが多すぎる
  • Rustconfから戻ったところだが、リアルタイムOSに重点を置いた主要なOSリリースが5つほどある

    • すべてがオープンソースというわけではない
  • もう一つの良い資料は、Rustを使ってRISC-V OSを作るものだ