# 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

config 🔒

Constants used in rCore

console 🔒

SBI console driver, for text output

lang_items 🔒

The panic handler

loader 🔒

Loading user applications into memory

sbi 🔒

SBI call wrappers

sync 🔒

Synchronization and interior mutability primitives

syscall

Implementation of syscalls

task

Task management implementation

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