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