Skip to main content

Crate os

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
  • 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 batch::run_next_app() and for the first time go to userspace.

Modulesยง

batch
batch subsystem
console ๐Ÿ”’
SBI console driver, for text output
lang_items ๐Ÿ”’
The panic handler
logging ๐Ÿ”’
sbi ๐Ÿ”’
SBI call wrappers
sync ๐Ÿ”’
Synchronization and interior mutability primitives
syscall
Implementation of syscalls
trap
Trap handling functionality

Macrosยง

linker_symbol_addr ๐Ÿ”’
print
print string macro
println
println string macro

Functionsยง

clear_bss ๐Ÿ”’
clear BSS segment
rust_main
the rust entry-point of os