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 kerneltask: Task managementsyscall: 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 task::run_first_task() and for the first time go to
userspace.
Modules§
- Constants in the kernel
- console 🔒SBI console driver, for text output
- The panic handler
- loader 🔒Loading user applications into memory
- Global logger
- Memory management implementation
- SBI call wrappers
- Synchronization and interior mutability primitives
- Implementation of syscalls
- Task management implementation
- RISC-V timer-related functionality
- Trap handling functionality
Macros§
- Print! to the host console using the format string and arguments.
- Println! to the host console using the format string and arguments.
Functions§
- clear BSS segment
- kernel log info
- the rust entry-point of os