Summary:#
From the conversations of friends in the Rust group chat, I learned that Tsinghua University is hosting a training camp, and I immediately felt very excited (as expected from Tsinghua University). When I found out that the camp also includes implementing an operating system in Rust, I thought this was exactly what I wanted to participate in—both challenging and highly attractive.
In the past, I had never attempted a large project like implementing an operating system, and now I happen to be learning Rust, so I believe joining this training camp is an excellent opportunity. This will not only allow me to further master Rust in practice but also learn how to develop my own operating system using Rust.
Training Camp
Basic Stage - Rust Programming - 2024 Spring/Summer Open Source Operating System Training Camp - Open Source Operating System Community - Training Camp (opencamp.cn)
The training camp includes several stages (Guided Learning Stage - Basic Stage - Professional Stage)
Basic Stage#
- The Rust programming language lays a solid foundation for learning operating system design and implementation.
- Strengthen Rust programming skills by completing 110 Rustling programming problems.
- Achieve full score on the leaderboard in this stage to advance to the professional stage.
Professional Stage#
- Build various modules of the operating system from scratch, continuously improving the core functions of the operating system.
- Complete 5 rCore operating system major experiment programming problems to deeply understand important OS concepts and master essential skills.
- Reach 500 points on the leaderboard to enter the project stage and participate in team collaboration to complete key tasks.
The basic stage of the training camp requires completing 110 Rust basic syntax problems, covering various aspects such as data structures, basic syntax, module testing/usage, basic usage of macros, threads, smart pointers, iterators, and lifetimes. Among them, the algorithm problems (especially the 10 problems involving linked lists) may be the most challenging.
After completing the 110 Rustlings problems, one can enter the professional stage and start implementing a simple system in Rust.
Currently, I have only completed the learning of the basic stage and feel that my grasp of the foundational knowledge is still not solid enough. Therefore, I plan to consolidate my foundational knowledge again before entering the professional stage of learning.
For my future learning plans, I intend to explore implementing a time-series database using Rust (such as CnosDB), a Rust game engine (like Bevy), and continue to deepen my study of the Solana blockchain.
I also saw a suggestion from classmates in the professional stage to first learn about RISC-V assembly here, then come back to the professional stage courses, which would be a bit easier. [Complete] Step by Step, Learning to Develop an Operating System on RISC-V - Wang Chen - Spring 2021_ Bilibili
My rustlings address:
LearningOS/rust-rustlings-2024-spring-MrTwoc (github.com)