前情提要:#
Rust 交流群の友人とのチャットから、清華大学がトレーニングキャンプを開催することを知り、私は非常に興奮しました(さすが清華大学です)。トレーニングキャンプの内容に Rust を使ってオペレーティングシステムを実装することが含まれていると知り、これはまさに私が参加したいと思っていたもので、挑戦的で非常に魅力的だと感じました。
これまでオペレーティングシステムのような大規模なプロジェクトを実装したことはありませんでしたが、今ちょうど Rust を学んでいるので、このトレーニングキャンプに参加するのは絶好の機会だと思います。これにより、実践を通じて Rust をさらに習得できるだけでなく、Rust を使って自分のオペレーティングシステムを開発する方法も学べます。
トレーニングキャンプ
基礎段階 - Rust プログラミング - 2024 春夏季オープンソースオペレーティングシステムトレーニングキャンプ - オープンソースオペレーティングシステムコミュニティ - トレーニングキャンプ (opencamp.cn)
トレーニングキャンプは、いくつかの段階(導入段階 —— 基礎段階 —— 専門段階)で構成されています。
基礎段階#
- Rust プログラミング言語は、オペレーティングシステムの設計と実装を学ぶための堅実な基盤を築きます
- 110 の Rustling プログラミング問題を解くことで、Rust プログラミングスキルを強化します
- この段階のランキングで満点を達成すると、専門段階に進むことができます
専門段階#
- ゼロからオペレーティングシステムの各モジュールを構築し、オペレーティングシステムのコア機能を継続的に改善します
- 5 つの rCore オペレーティングシステムの大実験プログラミング問題を解決し、OS の重要な概念を深く理解し、必要なスキルを習得します
- ランキングのポイントが 500 点に達すると、プロジェクト段階に進み、チームで協力して重要なタスクを完了します
トレーニングキャンプの基礎段階では、110 の Rust 基本文法の問題を解決することが求められ、データ構造、基本文法、モジュールテスト / 使用、マクロの基本使用、スレッド、スマートポインタ、イテレータ、ライフサイクルなどの複数の側面をカバーしています。その中で、アルゴリズム問題(特にリンクリストに関する 10 の問題)が最も挑戦的かもしれません。
Rustlings の 110 の問題を解決した後、専門段階に進み、Rust を使って簡単なシステムを実装することができます。
現在、私は基礎段階の学習を終えたばかりで、基礎知識の習得がまだ十分ではないと感じています。したがって、専門段階の学習に進む前に、再度基礎知識を固める予定です。
将来の学習計画として、Rust を使って時系列データベース(例えば CnosDB)、Rust ゲームエンジン(例えば Bevy)を探求し、さらに Solana ブロックチェーンを深く学ぶつもりです。
また、専門段階の下に同級生が提案しているのを見て、まずここで RISC-V のアセンブリを理解し、その後専門段階のコースに戻ると、少し楽になるでしょう。。[完結] 徐々に進めて、RISC-V 上でオペレーティングシステムを開発する - 汪辰 - 2021 春_哔哩哔哩_bilibili
私の rustlings アドレス:
LearningOS/rust-rustlings-2024-spring-MrTwoc (github.com)