Note: This project is no longer maintained. Interested students please see rCore-Tutorial-v3.
This teaching repository is a V3 version refactored after rCore_tutorial V2.
The goal of this document is mainly aimed at "students doing experiments". We will provide the completed code after the end of each chapter. Your exercises only need to be implemented incrementally based on the version we gave, and do not need to be written again according to the tutorial.
For students who want to implement a rCore in full, our documentation may not be very friendly. Because during the writing of the tutorial, we need to make a lot of trade-offs and considerations for clarity and comprehensiveness, and omit a lot of Rust syntax and OS-independent code to bring better readability and simplicity, students who want to refer to this document and implement it in full may not have the smoothness of copying from scratch to the end (this approach is not the original intention of learning), and may need to have some complete understanding and thinking.
Also, if you feel uncomfortable with the font size and style, you can adjust it through the buttons above the GitBook.
docs/ : Teaching experimental guidance is divided into experimental content and development specificationsnotes/ : Project report and several discussionsos/ : Operating system codeuser/ : user state codeSUMMARY.md : GitBook directory pagebook.json : GitBook configuration filerust-toolchain : Limited version of the Rust toolchaindeploy.sh : Automatic deployment script Based on GitBook, it has been deployed on GitHub Pages.
npm install -g gitbook-cli
gitbook install
gitbook serve This project is based on tools such as cargo and make. You can run the code in the root directory through the make run command. For more details, please refer to Makefile , os/Makefile and user/Makefile .
This document and code section references:
I would like to express my gratitude to the warehouse developers and maintainers, and also thank many teachers and classmates who discussed and errata together during the development of this project.