An Operation System by Rust
Implementation repo: ROS
Concepts
ABI (application binary interface)
ABI is an interface between two binary program modules; often, one of these modules is a library or operating system facility, and the other is a program that is being run by a user.
BIOS vs. UEFI
Target Specification
Target triple is used to describe the CPU architecture, the vendor, the operating system, and the ABI.
The triple has the general format <arch><sub>-<vendor>-<sys>-<abi>:
- arch = x86_64, i386, arm, thumb, mips, etc. - sub = for ex. on ARM: v5, v6m, v7a, v7m, etc. - vendor = pc, apple, nvidia, ibm, etc. - sys = none, linux, win32, darwin, cuda, etc. - abi = eabi, gnu, android, macho, elf, etc.Reference
-
Writing an OS in Rust: https://os.phil-opp.com/.
Github: https://github.com/phil-opp/blog_os - MIT course 6.828 - semester 2020
- xv6, Unix-like teaching OS: https://pdos.csail.mit.edu/6.828/2018/xv6/book-rev11.pdf
- 6.828 homework sample: https://github.com/SmallPond/MIT6.828_OS