Tutorials

Hello, World! in User Mode

Compile a simple user program that prints via syscall. See user/hello_world.rs for an example.

To run it, map the program to a user page and call jump_to_user_space.

Reading a Disk Sector

Use the ATA driver to read LBA 0:

let mut buffer = [0u8; 512];
daxo_os::ata::ATA_BUS.lock().read_sector(0, &mut buffer);

Print the first few characters to verify the content.

Handling Keyboard Input

Spawn the keyboard task:

executor.spawn(Task::new(keyboard::print_keypresses()));

The task will asynchronously wait for scancodes and decode them to characters.