Skip to content

Latest commit

 

History

History
59 lines (32 loc) · 2.09 KB

File metadata and controls

59 lines (32 loc) · 2.09 KB

VIMIX Kernel

The VIMIX kernel started as a xv6 fork and is a very basic Unix like OS for RISC V qemu.

Source Code

Code organization of the kernel: overview_directories.

Boot and Init

See boot_process to see how the kernel gets from the boot loader to main(). See init_overview to see how main() inits all subsystems.

Subsystems

Some common_objects are used in multiple subsystems. Some kernel objects are organized in in an object oriented manner.

Interrupt Handling

See interrupts, IPI and timer_interrupt

Devices / Drivers

See devices.

File Management

Kernel

User space

Memory Management

For allocating kernel memory, see memory_management. To learn how the virtual memory is layd out, see memory_map_kernel and memory_map_process.

Process Management

See processes and scheduling.

System Calls / User Space API

The API of the user space to the kernel. See syscalls for a list of System Calls. To see how the application-kernel interaction works see calling_syscall.


Up: README

Boot: boot_process | init_overview

Subsystems: interrupts | IPI | devices | file_system | memory_management processes | scheduling | syscalls