https://github.com/krsoninikhil/phil-opp-rust-os
A small working Operating System in Rust. Follows this blog series https://os.phil-opp.com/
https://github.com/krsoninikhil/phil-opp-rust-os
os phil-opp rust tutorial
Last synced: over 1 year ago
JSON representation
A small working Operating System in Rust. Follows this blog series https://os.phil-opp.com/
- Host: GitHub
- URL: https://github.com/krsoninikhil/phil-opp-rust-os
- Owner: krsoninikhil
- License: mit
- Created: 2019-02-12T19:38:07.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-29T21:55:01.000Z (about 7 years ago)
- Last Synced: 2025-01-27T16:47:31.247Z (over 1 year ago)
- Topics: os, phil-opp, rust, tutorial
- Language: Rust
- Size: 56.6 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## phil-opp-rust-os
A minimal working Operating System in Rust with following functionalities:
- Can print text on screen
- Can handle CPU exceptions (breakpoint, double fault and page fault)
- Can take input from keyboard i.e. can handle hardware interrupts
- Can access page tables and create new mapping
- Can access physical addresses using it's virtual mapping
This is direct result of step by step following of [this blog series
by Philipp Oppermann][0].
My notes while following the blog can be found in [notes.md][1]. In
original blog posts, author explains the concepts as they are required
during implementation while these notes are structured as -- all OS
concepts covered in posts followed by Rust concepts required and
covered to understand the code and then implementation steps.
While these notes are unlikely to make much sense if original posts
are not followed, they could serve as quick reference for OS and Rust
concepts covered in blog series as well as implementation steps
required to get above functionality.
## License
MIT License. License for original code by Philipp can be found [here][2]
[0]: https://os.phil-opp.com/
[1]: https://github.com/krsoninikhil/phil-opp-rust-os/blob/master/notes.md
[2]: https://github.com/phil-opp/blog_os/tree/master#license