How vinc/moros works
MOROS is a Rust hobby operating system for x86-64, centered on a command-line environment. Its principal workflow is to boot into the kernel, initialize hardware and storage, start a userspace shell, and execute commands through userspace APIs and kernel services. Major branches include the custom filesystem, process and syscall support, networking, graphics and sound, plus shell, Lisp, editor, and other utilities. The graph reflects the README and source-index references; unsampled implementation details are not treated as verified call relationships.
Main entry points: api Userspace API · sys Hardware support · main.rs Kernel entry · mod.rs Shell
Components 21
Boot and kernel
- External bootloader
- Boot support
src/sys/boot - Kernel entry
src/main.rs
Hardware and devices
- Hardware support
src/sys - Console and VGA
src/sys/console.rs - Sound drivers
src/sys/snd - ATA storage
src/sys/ata.rs
Kernel services
- Memory management
src/sys/mem - Filesystem
src/sys/fs - Process management
src/sys/process/mod.rs - Kernel syscalls
src/sys/syscall
Userspace
- Userspace API
src/api - Shell
src/usr/shell/mod.rs - Command execution
src/usr/shell/exec.rs - Utilities and games
src/usr - Lisp interpreter
src/usr/lisp/mod.rs - Text editor
src/usr/edit.rs
Networking
- Network stack
src/sys/net - Network drivers
src/sys/net/nic - Network applications
src/usr
Other components
- Computer user
Connections 25
- Computer user → External bootloader: starts system
- External bootloader → Boot support: loads kernel
- Boot support → Kernel entry: initializes
- Kernel entry → Hardware support: initializes subsystems
src/sys/mod.rs - Kernel entry → Userspace API: exposes userspace
- Hardware support → Console and VGA: provides console
src/sys/mod.rs - Hardware support → Sound drivers: registers drivers
src/sys/mod.rs - Hardware support → ATA storage: includes ATA support
src/sys/mod.rs - Hardware support → Network stack: includes networking
src/sys/mod.rs - Filesystem → ATA storage: mounts ATA disks
src/sys/fs/mod.rs - Process management → Memory management: uses address spaces
src/sys/process/mod.rs - Process management → Kernel syscalls: handles syscall context
src/sys/process/mod.rs - Kernel syscalls → Filesystem: serves filesystem operations
src/sys/syscall/mod.rs - Userspace API → Kernel syscalls: issues syscalls
src/api/syscall.rs - Userspace API → Filesystem: accesses files
src/api/fs.rs - Userspace API → Process management: manages processes
src/api/process.rs - Computer user → Shell: uses
- Shell → Command execution: dispatches commands
src/usr/shell/mod.rs - Command execution → Utilities and games: runs utilities
src/usr/shell/exec.rs - Shell → Userspace API: uses userspace services
src/usr/shell/mod.rs - Computer user → Lisp interpreter: invokes interpreter
- Computer user → Text editor: edits text
- Computer user → Network applications: runs network commands
- Network stack → Network drivers: uses device drivers
src/sys/net/mod.rs - Network applications → Userspace API: uses userspace services
src/usr/lisp/mod.rs