ember_os

Crates.ioember_os
lib.rsember_os
version0.1.1
sourcesrc
created_at2024-03-05 09:09:27.071458
updated_at2024-03-06 06:29:53.274827
descriptionA simple OS kernel implemented in rust, which has referenced https://os.phil-opp.com/
homepagehttps://github.com/DrEden33773/ember_os
repositoryhttps://github.com/DrEden33773/ember_os
max_upload_size
id1162850
size329,681
Eden Wang (DrEden33773)

documentation

README

Ember OS

❤️ Please give me a Star / Follow if you like this project! ❤️

Brief

A simple OS implemented in rust, referenced Philipp Oppermann's Writing an OS in Rust blog.

Referencing Info

This project includes(referenced) code from phil-opp's blog_os, which is available under the MIT LICENSE and the APACHE LICENSE. The original code can be found at phil-opp/blog_os. Main extensions (differences between this project and phil-opp's) are as follows:

  1. Full implementation of the Asynchronous Task Manager
  2. Simple implementation of the Shell
  3. Fully transplanted benchmarks from NJU-OS-Experiment

Build

With the reliance on a bunch of unstable features, nightly channel of rust-toolchain is in need. A simple way is to run rustup update nightly --force.

Obviously, you should have qemu installed first. You could do that with the help of brew:

brew install qemu

Last but not least, install bootimage so that you could create a legal boot disk image from the complied kernel:

cargo install bootimage

Finally, you could build the project by running:

cargo build

And then, you could run it:

cargo run

Or, run some given tests:

cargo test

(Yes, cargo bootimage is not a necessary step, as the build behavior under this project has been adjusted to do that automatically before running)

Acknowledgements

Commit count: 0

cargo fmt