A simple, language-based OS.
git clone https://github.com/ryanra/RustOS.gitgit submodule update --initmake runmake iso and run it on a VM or real hardware!lib/rust/src/libstd/)src/libstd/sys/rustos/ which is a link to lib/rust/src/libstd/sys/rustos/Implement the entire Rust standard library on bare metal. Essentially,
you should be able to write your program, link against std, add a bootloader, and run
on bare metal. Of course, we'll need a little more to make the operating system extensible (specifically,
an interface for adding drivers and libraries)
The OS will be as simple as possible with as little as possible in it. Specifically, Rust type safety allows us to omit:
std (there is the issue of unsafe though, which will need to be considered at some point)Micro/Monolithic kernel is really irrelevant because everything is running in kernel mode and safety is enforced by the language, so there's no need for user mode. That said, the goal is to keep this code base small and enforce least-privledge with tight modules that also allow future additions.
Security. That's the big advantage that Rust would bring to an OS (i.e., memory safety) and that current OSes are really lacking.
libgreen can be slightly modified to this endrustc to RustOScollections working.Apache License, Version 2.0 or the MIT license, at your option. See LICENSE-APACHE and LICENSE-MIT for details.
2,521 followers · starred Dec 2014
1,707 followers · starred Dec 2014
1,186 followers · starred Jan 2015
1,075 followers · starred Aug 2015
A simple, language-based OS.
git clone https://github.com/ryanra/RustOS.gitgit submodule update --initmake runmake iso and run it on a VM or real hardware!lib/rust/src/libstd/)src/libstd/sys/rustos/ which is a link to lib/rust/src/libstd/sys/rustos/Implement the entire Rust standard library on bare metal. Essentially,
you should be able to write your program, link against std, add a bootloader, and run
on bare metal. Of course, we'll need a little more to make the operating system extensible (specifically,
an interface for adding drivers and libraries)
The OS will be as simple as possible with as little as possible in it. Specifically, Rust type safety allows us to omit:
std (there is the issue of unsafe though, which will need to be considered at some point)Micro/Monolithic kernel is really irrelevant because everything is running in kernel mode and safety is enforced by the language, so there's no need for user mode. That said, the goal is to keep this code base small and enforce least-privledge with tight modules that also allow future additions.
Security. That's the big advantage that Rust would bring to an OS (i.e., memory safety) and that current OSes are really lacking.
libgreen can be slightly modified to this endrustc to RustOScollections working.Apache License, Version 2.0 or the MIT license, at your option. See LICENSE-APACHE and LICENSE-MIT for details.
2,521 followers · starred Dec 2014
1,707 followers · starred Dec 2014
1,186 followers · starred Jan 2015
1,075 followers · starred Aug 2015