# os - Rust
The main module and entrypoint
Keywords: rust, rustlang, rust-lang, 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
- `task`: Task management
- `syscall`: System call handling and implementation
- `mm`: Address map using SV39
- `sync`: Wrap a static data structure inside it so that we are able to access it without any `unsafe`.
- `fs`: Separate user from file system with some structures

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_tasks()` and for the first time go to userspace.

## Modules

board 🔒
config 🔒

Constants used in rCore

console 🔒

SBI console driver, for text output

drivers 🔒
fs

File system in os

lang_items

The panic handler

mm

Memory management implementation

sbi

SBI call wrappers

sync

Synchronization and interior mutability primitives

syscall

Implementation of syscalls

task

Task management implementation

timer

RISC-V timer-related functionality

trap

Trap handling functionality

## Macros

print

print string macro

println

println string macro

## Functions

clear_bss 🔒

clear BSS segment

rust_main

the rust entry-point of os