前情提要:#
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)