Crate os

source · []
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 kernel
  • task: Task management
  • syscall: 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

board 🔒

Constants used in rCore for qemu

config 🔒

Constants used in rCore

console 🔒

SBI console driver, for text output

lang_items 🔒

The panic handler

loader 🔒

Loading user applications into memory

mm 🔒

Memory management implementation

sbi 🔒

SBI call wrappers

sync 🔒

Synchronization and interior mutability primitives

Implementation of syscalls

Task management implementation

timer 🔒

RISC-V timer-related functionality

Trap handling functionality

Macros

print string macro

println string macro

Functions

clear_bss 🔒

clear BSS segment

the rust entry-point of os