Expand description
The main module and entrypoint
Various facilities of the kernels are implemented as submodules. The most important ones are:
trap
: Handles all cases of switching from userspace to the kernelsyscall
: System call handling and implementation
The operating system also starts in this module. Kernel code starts
executing from entry.asm
, after which rust_main()
is called to
initialize various pieces of functionality. (See its source code for
details.)
We then call batch::run_next_app()
and for the first time go to
userspace.
Modules
- batch subsystem
- console 🔒SBI console driver, for text output
- The panic handler
- logging 🔒
- sbi 🔒SBI call wrappers
- sync 🔒Synchronization and interior mutability primitives
- Implementation of syscalls
- Trap handling functionality
Macros
- print string macro
- println string macro
Functions
- clear BSS segment
- the rust entry-point of os