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
SBI console driver, for text output
The panic handler
SBI call wrappers
Synchronization and interior mutability primitives
Implementation of syscalls
Trap handling functionality